Megosztás a következőn keresztül:


Futtatókörnyezet 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 Microsoft Fabric Runtime 1.2 a ga futtatókörnyezet legújabb verziója. 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

Képernyőkép a futtatókörnyezet verziójának kiválasztásáról.

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 konfigurálásával spark.sql.sources.partitionOverwriteMode 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, és number 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.
  • Bevezettünk egy új konfigurációs beállítást spark.sql.deleteUncommittedFilesWhileListing, amely alapértelmezés szerint be van állítva false . 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.