Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Fabric Runtime egy Azure-integrált platform, amely az Apache Spark-on alapul, és lehetővé teszi az adatmérnöki és adattudományi élmények végrehajtását és kezelését. A belső és a nyílt forráskódú forrásból származó kulcsfontosságú összetevőket egyesíti, és átfogó megoldást kínál az ügyfelek számára. Az egyszerűség érdekében tekintse meg az Apache Spark által működtetett Fabric Runtime nevet Fabric Runtime-nak.
A Fabric Runtime főbb összetevői:
Apache Spark – egy hatékony, nyílt forráskódú elosztott számítástechnikai kódtár, amely nagy léptékű adatfeldolgozási és elemzési feladatokat tesz lehetővé. Az Apache Spark sokoldalú és nagy teljesítményű platformot biztosít az adatmérnöki feladatokhoz és az adatelemzéshez.
Delta Lake – egy nyílt forráskódú tárolási réteg, amely ACID-tranzakciókat és más adatmegbízható funkciókat biztosít az Apache Spark számára. A Fabric Runtime-ban integrálva a Delta Lake javítja az adatfeldolgozási képességeket, és több egyidejű művelet adatkonzisztenciáját biztosítja.
A Native Execution Engine – egy átalakító fejlesztés az Apache Spark munkaterhelésekhez, amely jelentős teljesítménynövekedést kínál azáltal, hogy közvetlenül végrehajtja a Spark lekérdezéseket a tóház infrastruktúráján. Zökkenőmentesen integrálva, nem igényel kódváltoztatást, és elkerüli a gyártói lezárást. Támogatja mind a Parquet, mind a Delta formátumokat az Apache Spark API-kon Runtime 1.3-ban (Spark 3.5) és Runtime 2.0-ban (Spark 4.1).
A támogatott operátorok ki vannak töltve a JVM-alapú Sparkból egy vektorizált C++ végrehajtási útvonalra az Apache Gluten és a Velox használatával, amely oszlopos, SIMD-gyorsított feldolgozást biztosít a Parquet- és Delta-formátumok natív támogatásával. Ha egy operátor nem támogatott, a végrehajtás automatikusan JVM-alapú Sparkra csökken. Reprezentatív teljesítménymutatókban (TPC-DS 1000-es skálázási tényezőnél a Delta használatával) a motor akár hatszor gyorsabb teljesítményt ért el a nyílt forráskódú Sparkhoz képest, és körülbelül 83% számítási költségmegtakarítást eredményezett egy rögzített méretű Fabric-fürtön.
A natív elérési út megőrzi a Fabric Spark-lekérdezések optimalizálását, beleértve az adaptív lekérdezés-végrehajtást, a költségalapú újraírásokat, az oszlopcsonkítást és a predikátumeltolást. A konfiguráció segítségével bekapcsolhatod a natív végrehajtást alkalmazásonként
spark.native.enabled. A jegyzetfüzetcellák végrehajtása során a Fabric Spark Advisor valós idejű riasztásokat jelenít meg, amikor a végrehajtás visszaesik a JVM-alapú Sparkra, segít diagnosztizálni, ha a natív kiszervezés nincs alkalmazva.Alapértelmezett szintű csomagok Java-/ Scala-, Python- és R-csomagokhoz, amelyek különböző programozási nyelveket és környezeteket támogatnak. Ezeket a csomagokat a rendszer automatikusan telepíti és konfigurálja, így a fejlesztők az adatfeldolgozási feladatokhoz alkalmazhatják az előnyben részesített programozási nyelveket.
A Fabric Runtime egy robusztus, nyílt forráskódú operációs rendszerre épül, amely biztosítja a kompatibilitást különböző hardverkonfigurációkkal és rendszerkövetelményekkel.
Az alábbi táblázatban átfogó összehasonlítást találsz a kulcsfontosságú komponensekről, beleértve az Apache Spark verziókat, a támogatott operációs rendszereket, a Java-t, Scalát, Python-t, Delta Lake-et és R-t, amelyek az Apache Spark-alapú futási idők miatt a Fabric platformon belül.
Jótanács
Mindig a legújabb, általánosan elérhető (GA) futtatókörnyezeti verziót használja az éles számítási feladathoz, amely jelenleg a Runtime 1.3.
| Összetevő | Futtatókörnyezet 1.3 | Futtatókörnyezet 2.0 |
|---|---|---|
| kiadási fázis | GA | nyilvános előzetes verzió |
| Apache Spark-verzió | 3.5.5 | 4.1 |
| Operációs rendszer | Mariner 2.0 | Mariner 3.0 |
| Java-verzió | 11 | 21 |
| Scala-verzió | 2.12.17 | 2.13.16 |
| Python-verzió | 3.11 | 3.13 |
| Delta Lake verzió | 3.2 | 4.2 |
Látogasson el a Runtime 1.3-ba vagy a Runtime 2.0-ba az adott futtatókörnyezeti verzió részleteinek, új funkcióinak, fejlesztéseinek és áttelepítési forgatókönyveinek megismeréséhez.
Szövet optimalizálások
A Fabric-ben mind a Spark motor, mind a Delta Lake implementációi platformspecifikus optimalizációkat és funkciókat tartalmaznak. Ezek a funkciók natív integrációkat használnak a platformon belül. Ezeket a funkciókat letilthatod, hogy elérd a szokásos Spark és Delta Lake funkciókat. Az Apache Sparkhoz készült Fabric Runtimes a következőket foglalja magában:
- Az Apache Spark teljes nyílt forráskódú verziója.
- Közel 100 beépített, különálló lekérdezési teljesítményjavító gyűjteménye. Ezek a fejlesztések olyan funkciókat tartalmaznak, mint a partíció gyorsítótárazás (amely lehetővé teszi a FileSystem partíciógyorsítótárának használatát a metaadattár-hívások számának csökkentésére), valamint a Cross Join és skaláris allekérdezés kivetítése.
- Beépített intelligens gyorsítótár.
Az Apache Spark és Delta Lake Fabric Runtime-ján belül a natív írói képességek két fő célt szolgálnak:
- Differenciált teljesítményt nyújtanak a számítási feladatok írásához, és optimalizálják az írási folyamatot.
- Alapvetően V-rendű optimalizálást alkalmaznak a Delta Parquet fájlokban. A Delta Lake V-order optimalizálása kulcsfontosságú ahhoz, hogy minden Fabric motorban kiváló olvasási teljesítményt nyújtson. Ha mélyebben megérthetjük, hogyan működik és hogyan kezeljük, lásd a Delta Lake táblázat optimalizálását és a V-sorrendet.
Több futtatókörnyezet támogatása
A Fabric több futási időt támogat, így válthatsz közöttük, és csökkentheted a kompatibilitási problémák vagy megszakítások kockázatát.
Note
A Spark futóideje egy adott Python verziót tartalmaz a komponenskészlet részeként. Például a Runtime 1.3 tartalmazza a Python 3.11-et. Ez a Python verzió különálló attól a Python notebook magtól, amelyet tiszta Python jegyzetfüzetekhez választasz. A Python-jegyzetfüzet kerneljének életciklusáról a következő cikkben olvashat: Python-jegyzetfüzet futtatókörnyezete és a kernel életciklusa a Fabricben.
Alapértelmezés szerint minden új munkaterület a ga futtatókörnyezet legújabb verzióját használja, amely jelenleg a Runtime 1.3.
A futtatókörnyezet verziójának munkaterületszinten történő módosításához lépjen Munkaterület beállításai>Adatmérnöki/tudományos>Spark-beállítások. A Környezet lapon válassza ki a kívánt futtatókörnyezeti verziót az elérhető lehetőségek közül. Válassza a Mentés gombot a választásának megerősítéséhez.
Miután ezt a változtatást végrehajtottad, minden rendszer által létrehozott elem a munkatéren belül, beleértve a lakehouse-okat, Spark munkaköri leírásokat és jegyzetfüzeteket, az újonnan kiválasztott munkaterületi szintű runtime verziót használja a következő Spark Session-tól kezdve. Ha jelenleg egy meglévő munkamenettel rendelkező jegyzetfüzetet használsz egy feladathoz vagy bármilyen Lakehouse-hoz kapcsolódó tevékenységhez, az a Spark-munkamenet változatlanul folytatódik. Azonban a következő üléstől vagy feladattól kezdve a kiválasztott futási idejű verzió érvényes.
A futási idő megváltoztatásához Environment az item szinten hozz létre egy új Környezet elemet vagy nyiss meg egy létezőt. A(z) Runtime legördülő menüben válaszd ki a kívánt futtatókörnyezet-verziót az elérhető lehetőségek közül, válaszd a(z) Save lehetőséget, majd Publish a módosításokat. Ezután használhatja ezt az Environment elemet a Notebook vagy a Spark Job Definition.
A futtatókörnyezet változásainak következményei a Spark-beállításokban
A rendszer áthelyezi az összes Spark beállítást. Ha azonban a rendszer megállapítja, hogy egy Spark beállítás nem kompatibilis a Runtime B-vel, figyelmeztető üzenetet mutat, és nem valósítja meg azt.
A futtatókörnyezet változásainak következményei a könyvtárkezelésben
A könyvtárkezelő rendszer minden könyvtárat áthelyez Runtime A-ról Runtime B-re, beleértve a nyilvános és egyedi futásidőket is. Ha a Python és R verziók változatlanok maradnak, a könyvtárak rendesen működnek. Azonban a JAR-ok esetében jelentős esély van arra, hogy nem működnek a függőségváltozások és más tényezők, például a Scala, Java, Spark és az operációs rendszer változásai miatt.
Te vagy felelős azokért a könyvtárakért, amelyek nem működnek a Runtime B-vel, frissítsd vagy cseréld. Ha ütközés van, ami azt jelenti, hogy a Runtime B tartalmaz egy eredetileg A futásidőben definiált könyvtárat, a könyvtárkezelő rendszer megpróbálja létrehozni a szükséges függőséget a Runtime B számára a beállításaid alapján. Ütközés esetén azonban az építési folyamat meghiúsul. A hibanaplóban láthatod, mely könyvtárak okoznak konfliktusokat, és módosíthatod a verzióikat vagy specifikációikat.
A Delta Lake protokoll frissítése
A Delta Lake funkciók mindig visszafelé kompatibilisek, így a kisebb Delta Lake verzióban létrehozott táblák zökkenőmentesen tudnak kommunikálni a magasabb verziókkal. Azonban bizonyos funkciók bekapcsolásakor (például a delta.upgradeTableProtocol(minReaderVersion, minWriterVersion) módszer használatával), veszélyeztetheti az előrehaladási kompatibilitást az alacsonyabb Delta Lake verziókkal. Ilyen esetekben módosítani kell azokat a munkaterheléseket, amelyek a frissített táblákra hivatkoznak, hogy illeszkedjenek egy olyan Delta Lake verzióhoz, amely fenntartja a kompatibilitást.
Minden Delta tábla egy protokollspecifikációhoz van rendelve, amely meghatározza az általa támogatott funkciókat. A táblázatot olvasásra vagy írásra használó alkalmazások erre a protokollspecifikációra támaszkodva állapítják meg, hogy kompatibilisek-e a tábla funkciókészletével. Ha egy alkalmazás nem képes kezelni egy olyan funkciót, amelyet a táblázat protokollja támogatott, akkor nem tud olvasni vagy írni arra a táblára.
A protokoll specifikációja két különböző összetevőre oszlik: az "olvasási" protokollra és az "írási" protokollra. További információért lásd: Hogyan kezeli a Delta Lake funkciókompatibilitást?
A parancsot delta.upgradeTableProtocol(minReaderVersion, minWriterVersion) futtathatod a PySpark környezetben, valamint a Spark SQL-ben és a Scala-ban. Ez a parancs frissítést indít a Delta táblán.
Amikor ezt a frissítést végrehajtod, figyelmeztetést kapsz, hogy a Delta protokoll verzió frissítése nem visszafordítható folyamat. Ez a folyamat azt jelenti, hogy ha egyszer végrehajtod a frissítést, nem lehet visszavonni.
A protokollverzió-frissítések hatással lehetnek a meglévő Delta Lake-táblaolvasók, írók vagy mindkettő kompatibilitására. Ezért óvatosan haladjon, és csak akkor frissítse a protokoll verziót, amikor szükséges, például új funkciók bevezetésekor a Delta Lake-ben.
Fontos
Ha többet szeretnél megtudni arról, hogy mely protokollverziók és funkciók kompatibilisek minden Fabric élményben, lásd a Delta Lake tábla formátum interoperabilitását.
Emellett ellenőrizd, hogy minden jelenlegi és jövőbeli gyártási munkaterhelés és folyamat kompatibilis-e a Delta Lake táblákkal az új protokoll verzió használatával, hogy zökkenőmentes átmenetet biztosítson és megelőzze a lehetséges megszakításokat.