Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Fabric Runtime je platforma integrovaná do Azure založená na Apache Sparku, která umožňuje provádění a správu datového inženýrství a datové vědy. Kombinuje klíčové komponenty z interních i opensourcových zdrojů a poskytuje zákazníkům komplexní řešení. Pro jednoduchost označte Fabric Runtime poháněný Apache Spark jako Fabric Runtime.
Hlavní komponenty řídicího prostředí Fabric:
Apache Spark – výkonná opensourcová distribuovaná výpočetní knihovna, která umožňuje rozsáhlé úlohy zpracování a analýzy dat. Apache Spark poskytuje univerzální a vysoce výkonnou platformu pro datové inženýrství a prostředí pro datové vědy.
Delta Lake – opensourcová vrstva úložiště, která do Apache Sparku přináší transakce ACID a další funkce spolehlivosti dat. Delta Lake integrovaná v prostředí Fabric Runtime vylepšuje možnosti zpracování dat a zajišťuje konzistenci dat napříč několika souběžnými operacemi.
Modul pro nativní spouštění – zásadní vylepšení pro úlohy Apache Spark, které přináší výrazný nárůst výkonu díky přímému spouštění dotazů Spark na infrastruktuře lakehouse. Lze jej bezproblémově integrovat, nevyžaduje žádné změny kódu a zabraňuje závislosti na dodavateli. Podporuje jak Parquet, tak Delta formáty napříč Apache Spark API v Runtime 1.3 (Spark 3.5) a Runtime 2.0 (Spark 4.1).
Podporované operátory jsou překládány ze Sparku založeného na JVM na vektorizovaný vykonávací cestu C++ prostřednictvím Apache Gluten a Veloxu, které poskytují sloupcové, akcelerované SIMD zpracování s nativní podporou pro formáty Parquet a Delta. Pokud operátor není podporovaný, spouštění se automaticky vrátí zpět do Sparku založeného na JVM. V reprezentativních srovnávacích testech (TPC-DS ve škálovacím faktoru 1000 pomocí Delta) modul dosáhl až šestinásobně rychlejšího výkonu ve srovnání s open-source verzí Sparku, což představuje přibližně 83% úsporu nákladů na výpočty v clusteru Fabric s pevnou velikostí.
Nativní způsob zachovává optimalizace dotazů Fabric Spark, včetně adaptivního spouštění dotazů, úprav založených na nákladech, vyřazení sloupců a přesunu predikátu. Nativní spuštění můžete přepínat podle aplikace pomocí
spark.native.enabledkonfigurace. Během provádění buňky v notebooku nástroj Fabric Spark Advisor zobrazuje výstrahy v reálném čase, když se provedení vrátí zpět na Spark založený na JVM, což vám pomáhá diagnostikovat, kdy není použit nativní offload.Balíčky na úrovni výchozí úrovně pro balíčky Java/Scala, Python a R – které podporují různé programovací jazyky a prostředí. Tyto balíčky se instalují a konfigurují automaticky, takže vývojáři můžou pro úlohy zpracování dat použít upřednostňované programovací jazyky.
Fabric Runtime je postaven na robustním open-source operačním systému, který zajišťuje kompatibilitu s různými hardwarovými konfiguracemi a systémovými požadavky.
V následující tabulce najdete komplexní srovnání klíčových komponent, včetně verzí Apache Spark, podporovaných operačních systémů, Java, Scala, Python, Delta Lake a R, pro runtime založené na Apache Spark v rámci platformy Fabric.
Návod
Pro produkční úlohu, která je aktuálně Runtime 1.3, vždy používejte nejnovější obecně dostupnou verzi modulu runtime (GA).
| Součást | Runtime 1.3 | Runtime 2.0 |
|---|---|---|
| fáze vydání | GA | Public Preview |
| Verze Apache Sparku | 3.5.5 | 4.1 |
| Operační systém | Mariner 2.0 | Mariner 3.0 |
| Verze Javy | 11 | 21 |
| Verze Scala | 2.12.17 | 2.13.16 |
| Verze Pythonu | 3.11 | 3.13 |
| Verze Delta Lake | 3.2 | 4.2 |
Navštivte modul Runtime 1.3 nebo Runtime 2.0 a prozkoumejte podrobnosti, nové funkce, vylepšení a scénáře migrace pro konkrétní verzi modulu runtime.
Optimalizace fabricu
V Fabric implementace zahrnují jak Spark engine, tak Delta Lake implementace platformně specifické optimalizace a funkce. Tyto funkce využívají nativní integrace uvnitř platformy. Všechny tyto funkce můžete vypnout, abyste dosáhli standardní funkce Spark a Delta Lake. Prostředí pro běh Apache Spark zahrnují:
- Kompletní opensourcová verze Apache Sparku.
- Kolekce téměř 100 integrovaných, jedinečných vylepšení výkonu dotazů. Mezi tato vylepšení patří funkce, jako je ukládání do mezipaměti oddílů (povolení ukládání oddílové mezipaměti souborového systému ke snížení počtu volání metadatového úložiště) a křížové spojení s projekcí skalárního poddotazu.
- Integrovaná inteligentní mezipaměť.
V rámci Fabric Runtime pro Apache Spark a Delta Lake plní nativní schopnosti zapisovatele dvě klíčové funkce:
- Nabízejí diferencovaný výkon pro psaní úloh a optimalizaci procesu zápisu.
- Výchozí nastavení je optimalizace v pořadí Delta Parquet souborů. Optimalizace Delta Lake V-order je klíčová pro dosažení špičkového výkonu čtení napříč všemi motory Fabric. Pro hlubší pochopení fungování a řízení viz optimalizace tabulky Delta Lake a V-order.
Podpora více běhových prostředí
Fabric podporuje více runtime, takže mezi nimi můžete přepínat a snižovat riziko problémů s kompatibilitou nebo přerušení.
Note
Spark runtime zahrnuje specifickou verzi Python jako součást své sady komponent. Například Runtime 1.3 obsahuje Python 3.11. Tato verze Pythonu je samostatná od jádra notebooku Python, které vybíráte pro notebooky čistě v Pythonu. Informace o životním cyklu běhového prostředí a jádra poznámkového bloku Python najdete v článku Běhové prostředí a životní cyklus jádra poznámkového bloku Python v systému Fabric.
Ve výchozím nastavení všechny nové pracovní prostory používají nejnovější verzi modulu runtime GA, která je aktuálně Runtime 1.3.
Pokud chcete změnit verzi modulu runtime na úrovni pracovního prostoru, přejděte na Nastavení pracovního prostoru>Data Engineering/Science>Nastavení Sparku. Na kartě Prostředí vyberte požadovanou verzi modulu runtime z dostupných možností. Výběrem možnosti Uložit potvrďte výběr.
Po této změně všechny systémem vytvořené položky v pracovním prostoru, včetně jezerních domů, popisů pracovních pozic ve Sparku a zápisníků, používají nově vybranou runtime verzi na úrovni pracovního prostoru od další Spark session. Pokud právě používáte zápisník s existující relací pro práci nebo jakoukoli aktivitu související s jezerem, tato Spark relace pokračuje bez změny. Od příští relace nebo úlohy platí vybraná verze běhového prostředí.
Pro změnu běhu na úrovni předmětu Environment vytvořte nový předmět Environment nebo otevřete existující. V rozbalovacím menu Runtime vyberte požadovanou verzi pro běh z dostupných možností, vyberte Save, a poté Publish změny. Dále můžete tuto Environment položku použít se svým Notebook nebo Spark Job Definition.
Důsledky změn modulu runtime v nastavení Sparku
Systém migruje všechna nastavení Sparku. Pokud však systém zjistí, že nastavení Spark není kompatibilní s Runtime B, zobrazí varovnou zprávu a neimplementuje tuto možnost.
Důsledky změn modulu runtime při správě knihoven
Systém správy knihoven migruje všechny knihovny z runtime A do runtime B, včetně veřejných i vlastních runtime. Pokud zůstanou verze Python a R stejné, knihovny fungují správně. Nicméně u JARů je velká šance, že nebudou fungovat kvůli změnám závislostí a dalším faktorům, jako jsou změny ve Scale, Java, Sparku a operačním systému.
Jste zodpovědní za aktualizaci nebo výměnu jakýchkoli knihoven, které nefungují s Runtime B. Pokud dojde ke konfliktu, což znamená, že Runtime B obsahuje knihovnu původně definovanou v Runtime A, systém správy knihoven se snaží vytvořit potřebnou závislost pro Runtime B na základě vašich nastavení. Proces sestavování ale selže, pokud dojde ke konfliktu. V protokolu chyb uvidíte, které knihovny způsobují konflikty, a můžete upravit jejich verze nebo specifikace.
Upgrade Delta Lake protokolu
Funkce Delta Lake jsou vždy zpětně kompatibilní, což zajišťuje, že tabulky vytvořené v nižší verzi Delta Lake mohou bezproblémově komunikovat s vyššími verzemi. Když však povolíte určité funkce (například pomocí této metody delta.upgradeTableProtocol(minReaderVersion, minWriterVersion) ), můžete ohrozit kompatibilitu s nižšími verzemi Delta Lake. V takových případech je potřeba upravit pracovní zátěže, které odkazují na vylepšené tabulky, aby odpovídaly verzi Delta Lake, která udržuje kompatibilitu.
Každá tabulka Delta je spojena se specifikací protokolu, která definuje funkce, které podporuje. Aplikace, které pracují s tabulkou, ať už pro čtení nebo zápis, spoléhají na tuto specifikaci protokolu, aby určily, jestli jsou kompatibilní se sadou funkcí tabulky. Pokud aplikace nemá schopnost zpracovat funkci uvedenou jako podporovanou v protokolu tabulky, nemůže z této tabulky číst ani do ní zapisovat.
Specifikace protokolu je rozdělena do dvou různých komponent: "read" a "write" protokol. Pro více informací viz Jak Delta Lake spravuje kompatibilitu funkcí?
Příkaz delta.upgradeTableProtocol(minReaderVersion, minWriterVersion) můžete spustit v prostředí PySpark, ve Spark SQL a Scale. Tento příkaz spustí aktualizaci tabulky Delta.
Když provedete tuto aktualizaci, dostanete varování, že aktualizace verze protokolu Delta je nevratný proces. Tento proces znamená, že jakmile aktualizaci provedete, už ji nelze vrátit zpět.
Upgrady verzí protokolu můžou potenciálně ovlivnit kompatibilitu stávajících čtenářů tabulek Delta Lake, zapisovačů nebo obojího. Proto postupujte opatrně a aktualizujte verzi protokolu pouze tehdy, když je to nutné, například při zavádění nových funkcí v Delta Lake.
Důležité
Chcete-li se dozvědět více o tom, které verze a funkce protokolů jsou kompatibilní napříč všemi Fabric zážitky, viz interoperabilita formátů tabulek Delta Lake.
Dále ověřte, že všechny současné i budoucí produkční zátěže a procesy jsou kompatibilní s tabulkami Delta Lake pomocí nové verze protokolu, aby byl zajištěn plynulý přechod a předešlo případným narušením.