Sdílet prostřednictvím


Fabric Runtime 1.2 (EOSA)

Výstraha

Bylo oznámeno ukončení podpory modulu Microsoft Fabric Runtime 1.2. Microsoft Fabric Runtime 1.2 bude zastaralé 31. března 2026. Důrazně doporučujeme upgradovat váš pracovní prostor Fabric a prostředí tak, aby používal modul Runtime 1.3 (Apache Spark 3.5 a Delta Lake 3.2).

Microsoft Fabric Runtime je platforma integrovaná v Azure založená na Apache Sparku, která umožňuje spouštění a správu prostředí přípravy dat a datových věd. 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: 11
  • 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

Microsoft Fabric Runtime 1.2 obsahuje kolekci výchozích balíčků na úrovni, včetně úplné instalace Anaconda a běžně používaných knihoven pro Javu/Scala, Python a R. Tyto knihovny se automaticky zahrnou při používání poznámkových bloků nebo úloh na platformě Microsoft Fabric. Úplný seznam knihoven najdete v dokumentaci. Microsoft Fabric pravidelně nasadí aktualizace údržby pro modul Runtime 1.2 a poskytuje opravy chyb, vylepšení výkonu a opravy zabezpečení. 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í rozhraní API Pandas s podporou vstupu NumPy, zjednodušuje migraci z tradičních datových skladů prostřednictvím dodržování předpisů ANSI a nových integrovaných funkcí. 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.