Fabric Runtime 1.2 (EOS)

Caution

Microsoft Fabric Runtime 1.2 dosáhl konce podpory 31. března 2026. Ačkoliv může po tomto datu ještě po omezenou dobu fungovat, již nejde o podporované běhové prostředí a nejsou pro něj nadále vydávány opravy chyb, bezpečnostní aktualizace ani nápravy zranitelností. V důsledku toho jsou pracovní zátěže běžící na Runtime 1.2 v průběhu času vystaveny rostoucím provozním a bezpečnostním rizikům.

Navíc brzy začíná postupné vypínání úloh Runtime 1.2 a není zaručeno, že úlohy Runtime 1.2 budou v budoucnu pokračovat. Pro zajištění pokračující podpory, dodržování bezpečnosti a spolehlivosti platformy upgradujte své pracovní prostředí a Fabric na Runtime 1.3 (Apache Spark 3.5 a Delta Lake 3.2) co nejdříve, abyste předešli narušení vašeho podnikání.

Poznámka: Starter Pool není podporován ani dostupný s zastaralým runtime. Když používáte Runtime 1.2, používá on-demand pool a spuštění relace může trvat pár minut.

Fabric Runtime je platforma integrovaná do Azure založená na Apache Sparku, která umožňuje spouštění a správu datového inženýrství a datové vědy. Tento dokument se zabývá komponentami a verzemi modulu runtime 1.2.

Mezi hlavní komponenty modulu Runtime 1.2 patří:

  • Apache Spark 3.4.1
  • Operační systém: Mariner 2.0
  • Java: 11s
  • Scala: 2.12.17
  • Python: 3.10
  • Delta Lake: 2.4.0
  • R: 4.2.2

Návod

Vždy používejte nejnovější verzi modulu runtime GA pro produkční úlohu, která je aktuálně Runtime 1.3.

Snímek obrazovky znázorňující, kde vybrat verzi modulu runtime

Fabric Runtime 1.2 obsahuje kolekci balíčků na výchozí úrovni, včetně plné instalace Anacondy a běžně používaných knihoven pro Java/Scala, Python a R. Tyto knihovny jsou automaticky zahrnuty při používání notebooků nebo úloh v platformě Fabric. Úplný seznam knihoven najdete v dokumentaci. Fabric pravidelně vydává aktualizace údržby pro Runtime 1.2, které poskytují opravy chyb, zlepšení výkonu a bezpečnostní záplaty. Udržování aktuálnosti zajišťuje optimální výkon a spolehlivost úloh zpracování dat.

Nové funkce a vylepšení Verze Sparku 3.4.1

Apache Spark 3.4.0 je pátou verzí v řadě 3.x. Tato verze, řízená open-source komunitou, vyřešila více než 2 600 položek Jira. Představuje klienta Pythonu pro Spark Connect, vylepšuje strukturované streamování pomocí asynchronního sledování průběhu a stavového zpracování Pythonu. Rozšiřuje pokrytí API Pandas podporou vstupů NumPy, zjednodušuje migraci z tradičních skladů přes dodržování ANSI a nové vestavěné funkce. Zlepšuje také produktivitu vývoje a možnosti ladění pomocí profilace paměti. Modul runtime 1.2 je navíc založený na Apache Sparku 3.4.1, což je verze údržby zaměřená na opravy stability.

Hlavní přednosti

Přečtěte si úplnou verzi poznámky k verzi pro konkrétní verzi Apache Sparku, a to tak , že navštívíte Spark 3.4.0 i Spark 3.4.1.

Nové vlastní optimalizace dotazů

Podpora souběžných zápisů ve Sparku

Při provádění paralelních vložení dat do stejné tabulky pomocí dotazu SQL INSERT INTO dochází k chybě 404 se zprávou Operace selhala: Zadaná cesta neexistuje. Tato chyba může vést ke ztrátě dat. Naše nová funkce, algoritmus potvrzení výstupu souboru, tento problém řeší, což zákazníkům umožňuje bezproblémově provádět paralelní vkládání dat.

Pokud chcete získat přístup k této funkci, je třeba povolit příznak spark.sql.enable.concurrentWrites, který je ve výchozím nastavení povolen od verze Runtime 1.2 (Spark 3.4). I když je tato funkce dostupná i v jiných verzích Sparku 3, není ve výchozím nastavení povolená. Tato funkce nepodporuje paralelní provádění dotazů INSERT OVERWRITE, kde každá souběžná úloha přepisuje data v různých oddílech stejné tabulky dynamicky. Pro tento účel Nabízí Spark alternativní funkci, kterou je možné aktivovat konfigurací spark.sql.sources.partitionOverwriteMode nastavení na dynamickou.

Inteligentní čtení, které přeskočí soubory z neúspěšných úloh

V aktuálním systému potvrzování ve Sparku, když selže úloha vkládání do tabulky, ale některé úkoly jsou úspěšné, soubory vygenerované úspěšnými úkoly koexistují se soubory z neúspěšné úlohy. Tato koexistence může uživatelům způsobit nejasnost, protože je obtížné rozlišovat mezi soubory patřícími k úspěšným a neúspěšných úlohách. Navíc, když jedna úloha čte z tabulky, zatímco jiná vkládá data souběžně do stejné tabulky, může úloha čtení přistupovat k nepotvrzeným datům. Pokud úloha zápisu selže, může úloha čtení zpracovat nesprávná data.

Příznak spark.sql.auto.cleanup.enabled řídí naši novou funkci a řeší tento problém. Pokud je tato možnost povolená, Spark automaticky přeskočí čtení souborů, které nebyly potvrzeny při provádění spark.read nebo výběru dotazů z tabulky. Soubory zapsané před povolením této funkce se budou dál číst jako obvykle.

Tady jsou viditelné změny:

  • Všechny soubory teď v názvu souboru obsahují tid-{jobID} identifikátor.
  • Místo značky _success, která se obvykle vytváří ve výstupním umístění po úspěšném dokončení úlohy, se vygeneruje nová značka _committed_{jobID}. Tato značka přidruží úspěšná ID úloh k určitým názvům souborů.
  • Zavedli jsme nový příkaz SQL, který uživatelé můžou pravidelně spouštět za účelem správy úložiště a čištění nepotvrzených souborů. Syntaxe tohoto příkazu je následující:
    • Vyčištění konkrétního adresáře: CLEANUP ('/path/to/dir') [RETAIN number HOURS];
    • Vyčištění konkrétní tabulky: CLEANUP [db_name.]table_name [RETAIN number HOURS]; V této syntaxi path/to/dir představuje URI umístění, kde je vyžadováno vyčištění, a number je hodnota typu double představující dobu uchování. Výchozí doba uchovávání je nastavená na sedm dnů.
  • Zavedli jsme novou možnost konfigurace s názvem spark.sql.deleteUncommittedFilesWhileListing, která je ve výchozím nastavení nastavená false . Povolením této možnosti dojde k automatickému odstranění nepotvrzených souborů během čtení, ale tento scénář může zpomalit operace čtení. Pokud je cluster nečinný, doporučujeme ručně spustit příkaz pro vyčištění místo aktivace tohoto příznaku.

Průvodce migrací z modulu runtime 1.1 do modulu runtime 1.2

Při migraci z modulu runtime 1.1 s využitím Apache Sparku 3.3 na modul runtime 1.2 s využitím Apache Sparku 3.4 si projděte oficiálního průvodce migrací.

Nové funkce a vylepšení Delta Lake 2.4

Delta Lake je open-source projekt, který umožňuje vytvořit architekturu lakehouse na datových jezerech. Delta Lake poskytuje transakce ACID, škálovatelné zpracování metadat a sjednocuje zpracování streamovaných a dávkových dat nad stávajícími datovými jezery.

Konkrétně Delta Lake nabízí:

  • ACID transakce ve Sparku: Serializovatelná úroveň izolace zajišťuje, že čtenáři nikdy neuvidí nekonzistentní data.
  • Škálovatelné zpracování metadat: Využívá výkon distribuovaného zpracování Sparku ke zpracování všech metadat pro petabajtové tabulky s miliardami souborů.
  • Sjednocení streamování a dávkování: Tabulka v Delta Lake je dávková tabulka a zdroj a cílový bod pro streamování. Streamované přijímání dat, dávkové historické doplňování, interaktivní dotazy fungují ihned po instalaci.
  • Vynucení schématu: Automaticky zpracovává varianty schématu, aby se zabránilo vkládání chybných záznamů během příjmu dat.
  • Cestování časem: Správa verzí dat umožňuje vracení zpět, úplné historické stopy auditu a reprodukovatelné experimenty strojového učení.
  • Upserty a odstranění: Podporuje operace sloučení, aktualizace a odstranění, které umožňují složité případy použití, jako je zachytávání změn dat, pomalu se měnící dimenze (SCD), streamovací upserty, atd.

Přečtěte si úplnou verzi poznámek k vydání pro Delta Lake 2.4.

Výchozí balíčky na úrovni pro Javu, Scala, knihovny Pythonu

Seznam všech balíčků výchozí úrovně pro Javu, Scala, Python a jejich odpovídající verze najdete v poznámkách k verzi.