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


Fabric Runtime 1.2 (EOSA)

Figyelmeztetés

Bejelentették a Microsoft Fabric Runtime 1.2 támogatásának megszűnését. A Microsoft Fabric Runtime 1.2 2 2026. március 31-én megszűnik. Javasoljuk, hogy frissítse a Fabric-munkaterületet és a környezeteket a Runtime 1.3 (Apache Spark 3.5 és Delta Lake 3.2) használatára.

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.

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önyvtá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.partitionOverwriteModekonfigurá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, é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, amikor a fürt tétlen, ahelyett, hogy engedélyezné 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ó metaadatkezelést biztosít, valamint egyesíti a folyamatos és kötegelt adatfeldolgozást a meglévő adattavak alapján.

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ő metaadatkezelés: A Spark elosztott feldolgozási kapacitását kihasználva kezeli a petabájt méretű táblákhoz tartozó összes metaadatot, beleértve a több milliárd fájlos könnyed kezelést.
  • 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ó. Streamelő adatbevitel, történeti adatok köteges visszatöltése, interaktív lekérdezések alapból működnek.
  • 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 felhasználási esetek engedélyezéséhez, mint az adatváltozások követése, a lassan változó dimenziós (SCD) műveletek, folyamatos upsert műveletek 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.