Fabric Runtime 1.2 (GA)
Microsoft Fabric Runtime je platforma založená na Platforme Azure založená na Apache Spark, ktorá umožňuje realizáciu a správu skúseností dátového inžinierstva a dátovej vedy. Tento dokument popisuje súčasti a verzie modulu Runtime 1.2.
Medzi hlavné súčasti modulu Runtime 1.2 patria:
- 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
Prepitné
Vždy používajte najnovšiu verziu režimu runtime ga pre produkčné vyťaženie, ktorá je v súčasnosti runtime 1.3.
Microsoft Fabric Runtime 1.2 obsahuje kolekciu balíkov predvolenej úrovne vrátane úplnej inštalácie Anaconda a bežne používaných knižníc pre jazyky Java/Scala, Python a R. Tieto knižnice sú automaticky zahrnuté do poznámkových blokov alebo úloh na platforme Microsoft Fabric. Úplný zoznam knižníc nájdete v dokumentácii. Microsoft Fabric pravidelne zavádza aktualizácie údržby pre modul Runtime 1.2, poskytuje opravy chýb, vylepšenia výkonu a opravy zabezpečenia. Zachovanie aktuálneho výkonu zaručuje optimálny výkon a spoľahlivosť pre úlohy spracovania údajov.
Nové funkcie a vylepšenia vydania Spark 3.4.1
Apache Spark 3.4.0 je piate vydanie v rade 3.x. Toto vydanie riadené komunitou typu open-source vyriešilo viac ako 2 600 lístkov Jira. Zavádza klienta jazyka Python pre službu Spark Connect, zlepšuje štruktúrované streamovanie pomocou asynchrónneho sledovania priebehu a spracovania stavového spracovania v jazyku Python. Rozširuje pokrytie rozhrania API knižnice Pandas s podporou vstupov NumPy, zjednodušuje migráciu z tradičných skladov údajov prostredníctvom dodržiavania súladu s požiadavkami ANSI a nových vstavaných funkcií. Zlepšuje tiež produktivitu vývoja a ladenie pomocou profilovania pamäte. Okrem toho je verzia Runtime 1.2 založená na Apache Spark 3.4.1, údržbovom vydaní zameranom na opravy stability.
Kľúčové zvýraznenia
Prečítajte si celú verziu poznámok k vydaniu konkrétnej verzie Apache Spark navštívením Spark 3.4.0 a Spark 3.4.1.
Nové optimalizácie vlastných dotazov.
Podpora súbežných zápisov v službe Spark
Keď sa vyskytne chyba 404 so správou Operácia zlyhala: Zadaná cesta neexistuje, je bežným problémom pri vykonávaní paralelných vložení údajov do tej istej tabuľky pomocou vloženia SQL do dotazu. Táto chyba môže mať za následok stratu údajov. Tento problém rieši naša nová funkcia, Algoritmus potvrdenia výstupu súboru, ktorá umožňuje zákazníkom bez problémov vykonávať paralelné vkladanie údajov.
Ak chcete získať prístup k tejto funkcii, povoľte spark.sql.enable.concurrentWrites
príznak funkcie, ktorý je predvolene povolený od verzie Runtime 1.2 (Spark 3.4). Hoci je táto funkcia k dispozícii aj v iných verziách služby Spark 3, predvolene nie je povolená. Táto funkcia nepodporuje paralelné vykonávanie dotazov INSERT PREPÍSAŤ, pričom každá súbežná úloha dynamicky prepíše údaje na rôzne oblasti tej istej tabuľky. Spark na tento účel ponúka alternatívnu funkciu, ktorú možno aktivovať konfiguráciou spark.sql.sources.partitionOverwriteMode
nastavenia na dynamické.
Inteligentné čítanie, ktoré vynechá súbory z neúspešných úloh
V aktuálnom systéme potvrdenia služby Spark zlyhá, keď vloženie do úlohy tabuľky zlyhá, ale niektoré úlohy prebehnú úspešne, súbory vygenerované úspešnými úlohami existujú spoločne so súbormi z neúspešnej úlohy. Táto súbežnosť môže spôsobovať zmätok u používateľov, pretože je náročné rozlišovať medzi súbormi patriacimi k úspešným aj neúspešným úlohám. Okrem toho, keď jedna úloha číta z tabuľky, zatiaľ čo iná úloha vkladá údaje súbežne do tej istej tabuľky, úloha na čítanie môže získať prístup k necutánným údajom. Ak úloha zapisovania zlyhá, úloha čítania môže spracovať nesprávne údaje.
Príznak spark.sql.auto.cleanup.enabled
ovláda našu novú funkciu, ktorá sa zaoberá týmto problémom. Keď je táto možnosť povolená, spark automaticky vynechá súbory na čítanie, ktoré sa jej pri vykonávaní spark.read
alebo výbere dotazov z tabuľky nespustili. Súbory napísané pred povolením tejto funkcie sa naďalej čítajú ako zvyčajne.
Tu sú viditeľné zmeny:
- Všetky súbory teraz obsahujú
tid-{jobID}
v názvoch súborov identifikátor. - Namiesto značky, ktorá
_success
sa zvyčajne vytvorí na mieste výstupu po úspešnom dokončení úlohy, sa vygeneruje nová_committed_{jobID}
značka. Táto značka priradí úspešné ID pracovnej úlohy s konkrétnymi názvami súborov. - Zaviedli sme nový príkaz SQL, ktorý používatelia môžu pravidelne spúšťať a spravovať ukladací priestor a čistiť súbory bez vynechania. Syntax tohto príkazu je nasledovná:
- Vyčistenie konkrétneho adresára:
CLEANUP ('/path/to/dir') [RETAIN number HOURS];
- Vyčistenie konkrétnej tabuľky:
CLEANUP [db_name.]table_name [RETAIN number HOURS];
V tejto syntaxi predstavuje identifikátor URI umiestnenia,path/to/dir
kde sa vyžaduje čistenie, anumber
je to hodnota dvojitého typu predstavujúca obdobie uchovávania údajov. Predvolené obdobie uchovávania údajov je nastavené na sedem dní.
- Vyčistenie konkrétneho adresára:
- Zaviedli sme novú možnosť konfigurácie s názvom
spark.sql.deleteUncommittedFilesWhileListing
, ktorá je predvolene nastavená nafalse
hodnotu . Povolenie tejto možnosti má za následok automatické odstránenie súborov bez vynechania počas prečítaní, ale tento scenár môže spomaliť operácie čítania. Odporúča sa manuálne spustiť príkaz čistenia, keď je klaster nečinný, a nie povoliť tento príznak.
Sprievodca migráciou z modulu Runtime 1.1 do modulu Runtime 1.2
Pri migrácii zo služby Runtime 1.1, ktorú spúšťa Apache Spark 3.3, na Runtime 1.2, ktorú poháňa Apache Spark 3.4, si pozrite oficiálneho sprievodcu migráciou.
Nové funkcie a vylepšenia delta lake 2.4
Delta Lake je open-source projekt, ktorý umožňuje vytvárať architektúru jazera na základe dátových jazier. Delta Lake poskytuje transakcie ACID, škálovateľné spracovanie metaúdajov a zjednotené streamovanie a dávkové spracovanie údajov v hornej časti existujúcich dátových jazier.
Konkrétne Delta Lake ponúka:
- Acid transakcie na Spark: Serializable izolácie úrovne zabezpečiť, že čitatelia nikdy vidieť nekonzistentné údaje.
- Škálovateľné spracovanie metaúdajov: Používa službu Spark distributed processing power na jednoduché spracovanie všetkých metaúdajov pre petabajtové tabuľky s miliardami súborov.
- Streamovanie a zjednotenie šarží : Tabuľka v Delta Lake je dávková tabuľka a streamovací zdroj a drez. Streamovanie údajového ingestu, dávkového historického dopĺňania, interaktívne dotazy fungujú jednoducho.
- Uplatnenie schémy: Automaticky spracováva variácie schémy, aby sa zabránilo vloženiu zlých záznamov počas príjmu.
- Cestovanie v čase: Tvorba verzií údajov umožňuje vrátenie zmien, úplné historické záznamy auditu a reprodukovateľné experimenty strojového učenia.
- Operácie upserts a deletes: podporuje operácie zlúčenia, aktualizovania a odstraňovania, aby sa umožnili zložité prípady použitia, ako sú napríklad zaznamenávanie zmien, pomaly sa meniace operácie dimenzie (SCD), streamované upserty a podobne.
Prečítajte si úplnú verziu poznámok k vydaniu pre Delta Lake 2.4.
Predvolené balíky úrovne pre knižnice Java, Scala, Python
Zoznam všetkých balíkov predvolenej úrovne pre jazyk Java, Scala, Python a ich príslušné verzie nájdete v poznámkach k vydaniu.