Fabric Runtime 1.2 (GA)
A Microsoft Fabric Runtime egy Apache Sparkon alapuló Azure-beli integrált platform, amely lehetővé teszi az adatelemzési és adatelemzési élmények végrehajtását és kezelését. Ez a dokumentum a Runtime 1.2 összetevőit és verzióit ismerteti.
A Runtime 1.2 fő összetevői a következők:
- Apache Spark 3.4.1
- Operációs rendszer: Mariner 2.0
- Java: 11
- Scala: 2.12.17
- Python: 3.10
- Delta Lake: 2.4.0
- R: 4.2.2
Tipp.
Az éles számítási feladathoz mindig a legújabb, GA futtatókörnyezeti verziót használja, amely jelenleg a Runtime 1.3.
A Microsoft Fabric Runtime 1.2 alapértelmezett szintű csomagokat tartalmaz, beleértve az Anaconda teljes telepítését, valamint a Java/Scala, a Python és az R gyakran használt kódtárait. Ezek a kódtárak automatikusan bekerülnek a Microsoft Fabric platform jegyzetfüzeteibe vagy feladataiba. A kódtárak teljes listáját a dokumentációban találja. A Microsoft Fabric rendszeresen frissíti a Runtime 1.2 karbantartási frissítéseit, és hibajavításokat, teljesítményjavításokat és biztonsági javításokat biztosít. A naprakészség biztosítja az adatfeldolgozási feladatok optimális teljesítményét és megbízhatóságát.
A Spark Release 3.4.1 új funkciói és fejlesztései
Az Apache Spark 3.4.0 az ötödik kiadás a 3.x sorban. Ez a nyílt forráskódú közösség által vezetett kiadás több mint 2600 Jira-jegyet oldott fel. Bevezet egy Python-ügyfelet a Spark Connecthez, javítja a strukturált streamelést az aszinkron folyamatkövetéssel és a Python állapotalapú feldolgozásával. Kibővíti a Pandas API-lefedettséget a NumPy bemeneti támogatásával, leegyszerűsíti a hagyományos adattárházakból való migrálást AZ ANSI-megfelelőség és az új beépített függvények révén. Emellett javítja a fejlesztési hatékonyságot és a hibakeresést a memóriaprofil-készítéssel. Emellett a Runtime 1.2 az Apache Spark 3.4.1-en alapul, amely egy stabilitási javításokra összpontosító karbantartási kiadás.
Főbb kiemelések
A Spark 3.4.0 és a Spark 3.4.1 kiadási megjegyzéseinek teljes verzióját a Spark 3.4.0-s és a Spark 3.4.1-es verziójának felkeresésével olvashatja el.
Új egyéni lekérdezésoptimalizálások
Egyidejű írási támogatás a Sparkban
A "Művelet sikertelen: A megadott elérési út nem létezik" üzenettel 404-ben hibaüzenet jelenik meg, amely gyakori probléma, ha párhuzamos adatbeszúrásokat hajt végre ugyanabba a táblába egy SQL INSERT INTO lekérdezés használatával. Ez a hiba adatvesztést okozhat. Az új funkció, a Fájlkimenet véglegesítési algoritmusa megoldja ezt a problémát, így az ügyfelek zökkenőmentesen végezhetik el a párhuzamos adatbeszúrást.
A funkció eléréséhez engedélyezze a spark.sql.enable.concurrentWrites
funkciójelzőt, amely alapértelmezés szerint engedélyezve van az 1.2-től (Spark 3.4) kezdődően. Bár ez a funkció más Spark 3-verziókban is elérhető, alapértelmezés szerint nincs engedélyezve. Ez a funkció nem támogatja az INSERT OVERWRITE lekérdezések párhuzamos végrehajtását, ha minden egyidejű feladat dinamikusan felülírja az adatokat ugyanazon tábla különböző partícióin. Erre a célra a Spark egy alternatív funkciót kínál, amely a beállítás dinamikusra spark.sql.sources.partitionOverwriteMode
konfigurálásával aktiválható.
Intelligens olvasások, amelyek kihagyják a fájlokat a sikertelen feladatokból
Az aktuális Spark-véglegesítési rendszerben, amikor egy táblázatfeladatba való beszúrás sikertelen, de bizonyos feladatok sikeresek, a sikeres tevékenységek által létrehozott fájlok együtt élnek a sikertelen feladat fájljaival. Ez az egyidejűség zavart okozhat a felhasználók számára, mivel nehéz megkülönböztetni a sikeres és sikertelen feladatokhoz tartozó fájlokat. Ezenkívül ha az egyik feladat egy táblából olvas, míg egy másik egyszerre szúr be adatokat ugyanabba a táblába, az olvasófeladat hozzáférhet a nem véglegesített adatokhoz. Ha egy írási feladat meghiúsul, az olvasófeladat helytelen adatokat dolgoz fel.
A spark.sql.auto.cleanup.enabled
jelölő vezérli az új funkciót, és foglalkozik ezzel a problémával. Ha engedélyezve van, a Spark automatikusan kihagyja azokat az olvasási fájlokat, amelyeket nem véglegesített, amikor lekérdezéseket spark.read
végez vagy választ ki egy táblából. A funkció engedélyezése előtt írt fájlok továbbra is a szokásos módon lesznek olvashatók.
A látható változások a következők:
- Most már minden fájl tartalmaz egy azonosítót
tid-{jobID}
a fájlnevekben. -
_success
A feladat sikeres befejezésekor általában a kimeneti helyen létrehozott jelölő helyett egy új_committed_{jobID}
jelölő jön létre. Ez a jelölő a sikeres feladatazonosítókat adott fájlnevekhez társítja. - Bevezettünk egy új SQL-parancsot, amelyet a felhasználók rendszeresen futtathatnak a tároló kezeléséhez és a nem véglegesített fájlok törléséhez. A parancs szintaxisa a következő:
- Egy adott könyvtár törlése:
CLEANUP ('/path/to/dir') [RETAIN number HOURS];
- Egy adott tábla törlése:
CLEANUP [db_name.]table_name [RETAIN number HOURS];
Ebben a szintaxisban azt a hely URI-t jelöli,path/to/dir
ahol a törlés szükséges, ésnumber
a megőrzési időtartamot jelképező kettős típusú érték. Az alapértelmezett megőrzési időszak hét napra van beállítva.
- Egy adott könyvtár törlése:
- Bevezettünk egy új konfigurációs beállítást
spark.sql.deleteUncommittedFilesWhileListing
, amely alapértelmezés szerint be van állítvafalse
. Ennek a beállításnak az engedélyezése a nem véglegesített fájlok automatikus törlését eredményezi olvasás közben, de ez a forgatókönyv lelassíthatja az olvasási műveleteket. Javasoljuk, hogy manuálisan futtassa a törlési parancsot, ha a fürt tétlen, és nem engedélyezi ezt a jelzőt.
Migrálási útmutató a Runtime 1.1-ről a Runtime 1.2-be
Amikor az Apache Spark 3.3-at futtató Runtime 1.1-ről az Apache Spark 3.4 által működtetett Runtime 1.2-re migrál, tekintse át a hivatalos migrálási útmutatót.
A Delta Lake 2.4 új funkciói és fejlesztései
A Delta Lake egy nyílt forráskód projekt, amely lehetővé teszi egy tóházi architektúra kiépítését a data lake-eken. A Delta Lake ACID-tranzakciókat, skálázható metaadatok kezelését, valamint stream- és kötegelt adatfeldolgozást biztosít a meglévő adattavakon felül.
Konkrétan a Delta Lake a következő lehetőségeket kínálja:
- ACID-tranzakciók a Sparkon: A szerializálható elkülönítési szintek biztosítják, hogy az olvasók soha ne láthassanak inkonzisztens adatokat.
- Méretezhető metaadatok kezelése: A Spark elosztott feldolgozási erejével kezeli a petabájt méretű táblák összes metaadatait, és könnyedén több milliárd fájlt tartalmaz.
- Streamelés és kötegegyesítés : A Delta Lake egyik táblája egy kötegtábla, egy streamelési forrás és fogadó. Adatbetöltés streamelése, kötegelt előzmény-visszatöltés, interaktív lekérdezések mind egyszerűen kijönnek a dobozból.
- Sémakényszerítés: Automatikusan kezeli a sémavariációkat, hogy megakadályozza a helytelen rekordok beszúrását a betöltés során.
- Időutazás: Az adatok verziószámozása lehetővé teszi a visszaállításokat, a teljes előzménynaplókat és a reprodukálható gépi tanulási kísérleteket.
- Upserts és deletes: Támogatja az egyesítési, frissítési és törlési műveleteket olyan összetett használati esetek engedélyezéséhez, mint a változás-adatrögzítés, a lassan változó dimenziós (SCD) műveletek, a streamelési upserts stb.
Olvassa el a Delta Lake 2.4 kibocsátási megjegyzéseinek teljes verzióját.
Alapértelmezett szintű csomagok Java-, Scala- és Python-kódtárakhoz
A Java, a Scala, a Python és a hozzájuk tartozó verziók alapértelmezett szintű csomagjainak listáját a kibocsátási megjegyzésekben találja.