Migrácia z Fabric Runtime 1.3 na Runtime 2.0

Fabric Runtime 2.0 je najnovšia všeobecne dostupná (GA) a predvolená runtime pre pracovné zaťaženia Apache Spark v Microsoft Fabric. Aktualizuje operačný systém: Java, Scala, Python, R, Apache Spark a Delta Lake. Keďže niektoré z týchto aktualizácií prekračujú hranice hlavných verzií, overte si svoje notebooky, definície úloh v Spark, knižnice a dátové pipeline ešte predtým, než presuniete produkčné pracovné záťaže z Runtime 1.3.

Tento sprievodca popisuje zmeny, ktoré môžu ovplyvniť migráciu, a poskytuje stupňovitý proces na presun vašich pracovných záťaží do Runtime 2.0.

Čo sa zmenilo v Runtime 2.0

Nasledujúca tabuľka porovnáva hlavné komponenty v Runtime 1.3 a Runtime 2.0.

Component Runtime 1.3 Runtime 2.0 Úvahy o migrácii
Fáza vydania Oznámený koniec podpory (EOSA) GA Migrujte produkčné pracovné záťaže do podporovaného GA runtime.
Apache Spark 3.5.5 4.1.1 Skontrolujte zmeny správania Spark 4.1 a odstránené API.
Jazero Delta 3,2 4.2 Overujte funkcie tabuliek a kompatibilitu protokolov naprieč každou Fabric záťažou, ktorá používa vaše tabuľky.
Java 11 21 Prebudujte a testujte Java knižnice a závislosti Java Native Interface (JNI).
Scala 2.12.17 2.13.16 Prekompilujte Scala JAR súbory pre Scala 2.13. Artefakty zo Scala 2.12 a 2.13 nie sú binárne kompatibilné.
Pytón 3.11 3.13 Overte si, že každý Python balík poskytuje verziu kompatibilnú s Python 3.13 a Linuxové koleso.
R 4.4.1 4.5.2 Preinštalujte a otestujte vlastné R balíky. SparkR je v Spark 4.1 zastaraný.
Operačný systém Azure Linux 2.0 (Mariner 2.0) Azure Linux 3.0 (Mariner 3.0) Prebudujte natívne knižnice a vlastné binárky pre Azure Linux 3.0.

Runtime 2.0 tiež prináša nové možnosti Apache Spark 4.1, vrátane VARIANT dátového typu, SQL používateľsky definovaných funkcií, relácií, syntaxe potrubia, kolácie reťazcov, Python Data Source API, Python používateľsky definovaných tabulových funkcií, jednotného profilovania PySpark a nových API pre správu stavu a ladenie štruktúrovaného streamovania. Pre prehľad pozri Runtime 2.0 v Fabric.

Zmeny kompatibility recenzií

Pred zmenou pracovného priestoru alebo prostredia na Runtime 2.0 si prejdite nasledujúce oblasti.

Vstavané a vlastné knižnice

Runtime 2.0 odstraňuje niekoľko predinštalovaných balíkov pre Python a R, ktoré boli dostupné v Runtime 1.3. Zníženie predvolenej sady balíkov udržiava runtime štíhy a znižuje plochu pre potenciálne bezpečnostné incidenty. Balík, ktorý bol dostupný bez konfigurácie v Runtime 1.3, mohol byť potrebný explicitne pridať do vášho prostredia Runtime 2.0.

Použite Library Manager na pridanie len balíkov, ktoré vaša záťaž vyžaduje, a potom uložte a publikujte prostredie. Library Manager rieši požadované závislosti balíka, preto nepridávajte každú závislosť do nasledujúcich inventárov zvlášť. Nepredpokladajte, že knižnica je dostupná alebo že jej verzia zostáva nezmenená:

  • Porovnajte inventáre balíkov Runtime 1.3 a Runtime 2.0 v repozitári runtime releases Fabric.
  • Pridajte chýbajúce knižnice PyPI, Conda, Maven, R alebo vlastné knižnice do prostredia a publikujte ho.
  • Pripnite verzie pre produkčné záťaže, aby bolo riešenie závislostí opakovateľné.
  • Potvrď, že balíky Python podporujú Python 3.13. Balíky s natívnymi rozšíreniami musia poskytovať kompatibilné koleso s Linuxom alebo úspešne zostaviť na Azure Linux 3.0.
  • Nahraďte závislosti Scala 2.12 artefaktmi zo Scala 2.13. Názvy artefaktov bežne zahŕňajú binárnu verziu Scala, ako _2.12 napríklad alebo _2.13.
  • Prekompilujte vlastné JAR súbory proti Java 21, Scala 2.13 a Spark 4.1. Testujte tranzitívne závislosti na konflikty s knižnicami poskytovanými v runtime.
  • Prebudujte vlastné natívne knižnice pre Azure Linux 3.0.

Fabric migruje špecifikácie knižníc, keď zmeníte runtime existujúceho prostredia, ale nemôže zaručiť, že tieto knižnice zostanú kompatibilné. Publikovanie zlyháva, keď riešenie závislostí nájde konflikt. Pre možnosti inštalácie balíkov a režimy publikovania pozri Správa knižníc v Fabric prostrediach.

Balíky odstránené z predvoleného prostredia

Nasledujúce inventáre zahŕňajú balíky určené pre používateľa a ich nízkoúrovňové alebo tranzitívne závislosti. Vyhľadajte v týchto zoznamoch balíky, ktoré používa vaša pracovná záťaž Runtime 1.3. Ak je balík uvedený, pridajte verziu kompatibilnú s Python 3.13 alebo R 4.5 cez Library Manager vo vašom Runtime 2.0 prostredí.

Python prostredie: 348 Conda balíkov
Balík Balík Balík Balík
_libgcc_mutex _sysroot_linux-64_curr_repodata_hack abseil-cpp alabaster
aom appdirs archspec argon2-cffi
argon2-cffi-bindings arrow arrow-cpp asgiref
asn1crypto astropy async_generator async-lru
async-timeout autopep8 aws-c-auth aws-c-cal
aws-c-common aws-c-compression aws-c-event-stream aws-c-http
aws-c-io aws-c-mqtt aws-c-s3 aws-c-sdkutils
aws-checksums aws-crt-cpp aws-sdk-cpp azure-keyvault
azure-storage babel backports backports.shutil_get_terminal_size
bcrypt beautifulsoup4 binaryornot binutils_impl_linux-64
binutils_linux-64 bitarray bkcharts black
blas bleach blinker blosc
bokeh boltons boost-cpp boto
bottleneck brunsli c-ares c-blosc2
cached-property cfitsio chardet charls
cmake cmdstan conda-package-handling conda-package-streaming
configparser contextlib2 cookiecutter curl
cython cytoolz daal4py dal
dask dask-core dataclasses datasets
dav1d dill distributed distro
django docutils entrypoints expat
fastcache flake8 flit flit-core
fmt fonts-anaconda future gcc_impl_linux-64
gcc_linux-64 geographiclib geopy get_terminal_size
gevent gflags giflib glib
glob2 glog gmp gmpy2
gobject-introspection grpc-cpp gst-plugins-base gstreamer
gtk2 gxx_impl_linux-64 gxx_linux-64 hdf5
heapdict html5lib huggingface_hub imagecodecs
imageio imagesize inflection iniconfig
intel-openmp intervaltree ipython_genutils jaraco.classes
jeepney jpeg json5 jsonpatch
jsonpointer jupyter_console jupyter_events jupyter-lsp
jupyter_server jupyter_server_terminals jupyterlab jupyterlab_pygments
jupyterlab_server jxrlib kernel-headers_linux-64 keyring
lazy_loader lazy-object-proxy liac-arff libaec
libarchive libavif libclang libcurl
libev libevent libgcc-devel_linux-64 libgfortran-ng
liblief libllvm14 libmamba libmambapy
libnghttp2 libprotobuf libsolv libspatialindex
libssh2 libstdcxx-devel_linux-64 libthrift libtool
libwebp libzopfli lightning-utilities llvm-openmp
llvmlite locket lxml lz4
lz4-c lzo make markdown
mccabe menuinst minio mistune
mkl mkl_fft mkl_random mkl-service
mock more-itertools mpc mpfr
mpi mpich mpmath msgpack-python
msrest multipledispatch multiprocess mysql
nbclassic nbclient nbconvert nest-asyncio
networkx ninja ninja-base nose
notebook notebook-shim nspr nss
numba numexpr numpy-base numpydoc
oauthlib olefile openml orc
overrides pandocfilters paramiko partd
patch patchelf path path.py
pathlib2 pep8 pickleshare pkginfo
pluggy ply poppler poppler-data
prettytable prometheus_client py-cpuinfo py-lief
pybind11-abi pycodestyle pycosat pycurl
pydocstyle pyerfa pyflakes pynacl
pyopenssl pyqt pyqt5-sip pyrsistent
pytables pytest python-fastjsonschema python-json-logger
python-libarchive-c python-lmdb python-slugify python-xxhash
pytorch pytorch-lightning pytorch-mutex pywavelets
qdarkstyle qstylizer qt qt-main
qt-webengine qtawesome qtconsole qtpy
re2 reproc reproc-cpp requests-oauthlib
rfc3339-validator rfc3986-validator rhash ripgrep
rtree s2n safetensors scikit-build
scikit-image scikit-learn-intelex secretstorage send2trash
shap simplegeneric singledispatch sip
slicer snappy snowballstemmer sortedcollections
sortedcontainers soupsieve sphinx sphinxcontrib
sphinxcontrib-applehelp sphinxcontrib-devhelp sphinxcontrib-htmlhelp sphinxcontrib-jsmath
sphinxcontrib-qthelp sphinxcontrib-serializinghtml sphinxcontrib-websupport sqlite
sympy sysroot_linux-64 tbb tbb-devel
tbb4py tblib terminado testpath
text-unidecode textdistance tifffile tinycss2
tokenizers toml tomli-w toolz
torchdata torchmetrics transformers truststore
typed-ast ujson unicodecsv unidecode
utf8proc webencodings websocket-client wheel
whichcraft xlsxwriter xlwt xmltodict
xxhash xyzservices xz yaml-cpp
yapf zfp zict zlib
zope zope.event zope.interface zstandard
Python prostredie: 24 pip balíkov
Balík Balík Balík Balík
accelerate astor dash dash-core-components
dash-cytoscape dash-html-components dash-table docker
interpret interpret-core json-tricks nni
nvidia-ml-py pyperclip pythonwebhdfs responses
retrying salib schema seqeval
simplejson tensorboardx thop typeguard
R prostredie: 67 Conda balíkov
Balík Balík Balík Balík
_libgcc_mutex _sysroot_linux-64_curr_repodata_hack blosc cfitsio
expat fmt freetype freexl
geos geotiff giflib hdf4
hdf5 json-c kealib lcms2
libaec libarchive libgdal libgdal-core
libgdal-fits libgdal-grib libgdal-hdf4 libgdal-hdf5
libgdal-jp2openjpeg libgdal-kea libgdal-netcdf libgdal-pdf
libgdal-pg libgdal-postgisraster libgdal-tiledb libgdal-xls
libkml libnetcdf libnsl librttopo
libspatialite libsqlite libudunits2 libv8
libzip lzo minizip nspr
nss openjpeg poppler poppler-data
proj r-classint r-gsl r-jose
r-mgcv r-s2 r-sf r-units
r-wk spdlog sqlite tiledb
uriparser xerces-c xorg-kbproto xorg-renderproto
xorg-xextproto xorg-xproto xz

Note

Ak ochrana odchádzajúceho prístupu alebo spravovaná virtuálna sieť bráni prístupu k verejným repozitárom, stiahnite si kompatibilné súbory kolies alebo hostujte zrkadlo balíkov. Pre inštrukcie pozri Spravovať knižnice s obmedzeným prístupom k sieti v Fabric.

Zmeny konfigurácie iskry

Runtime 2.0 pridáva a odstraňuje nastavenia Spark a mení niektoré predvolené hodnoty. Fabric tiež používa iné predvolené nastavenia ako Apache Spark pre niektoré nastavenia.

Pred migráciou si skontrolujte nastavenia Sparku, ktoré ste nastavili pre svoje pracovné priestory, prostredia, notebooky a definície úloh v Sparku. Odstráňte nastavenia, ktoré už nie sú podporované, a otestujte pracovné záťaže, ktoré sa spoliehajú na zmenené predvolené nastavenia. Používajte runtime predvolené nastavenia, pokiaľ dokumentácia neodporúča zmeniť nastavenie.

Významné zmeny predvolených hodnôt

Nasledujúca tabuľka uvádza vybrané základné zmeny. Nenastavené znamená, že základná hodnota explicitne nenastavuje hodnotu; neznamená to, že je funkcia deaktivovaná.

Konfigurácia Hodnota Runtime 1.3 Hodnota Runtime 2.0 Úvahy o migrácii
spark.checkpoint.compress false true Súbory kontrolných bodov sú štandardne komprimované. Overte interoperabilitu kontrolných bodov a správanie úložiska.
spark.databricks.delta.optimizeWrite.enabled true Nie je nastavené Nehnuteľnosť nie je odstránená. Overte efektívne správanie optimalizovaného zápisu pomocou nastavení tabuľky, relácie a profilu zdrojov.
spark.databricks.delta.optimizeWrite.partitioned.enabled false true Overiť priepustnosť zápisu a veľkosť výstupných súborov pre rozdelené tabuľky Delta.
spark.hadoop.parquet.block.size 1073741824 (1 GiB) 134217728 (128 MiB) Parketoví spisovatelia cielia na menšie bloky. Overujte veľkosti súborov a výkon čítania v downstreame.
spark.microsoft.delta.optimize.fast.enabled false true OPTIMIZE môžu preskočiť prácu, pokiaľ nie sú splnené kritériá počtu súborov alebo odhadovanej veľkosti zhutnenia. Overte výsledky údržby.
spark.microsoft.delta.optimize.fileLevelTarget.enabled false true Súbory, ktoré predtým spĺňali aspoň polovicu svojej cieľovej veľkosti zhutnenia, už nie sú kompaktované. Overte rozloženie súboru po OPTIMIZE.
spark.microsoft.delta.targetFileSize.adaptive.enabled false true Delta vypočíta cieľovú veľkosť súboru na základe veľkosti tabuľky. Overte výsledné veľkosti súborov a výkon čítania.
spark.speculation.multiplier 1.5 3 Úloha musí bežať trikrát pomalšie ako medián, aby ju Spark zvážil na špekulatívne vykonanie.
spark.speculation.quantile 0.75 0.9 Spark čaká, kým sa dokončí 90% úloh, než začne uvažovať o špekulatívnom vykonaní.
spark.sql.files.maxPartitionBytes 134217728 (128 MiB) 536870912 (512 MiB) Skenovanie súborov môže do každej partície zabaliť viac dát. Overte paralelizmus a využitie executor pamäte.
spark.sql.maxSinglePartitionBytes Long.MaxValue 128m Jedna partícia je predvolene obmedzená na 128 MiB. Overujte dotazy, ktoré produkujú veľké jednotlivé partície.
spark.sql.orc.compression.codec snappy zstd Nové zápisy ORC používajú štandardnú kompresiu Zstandard. Overte kompatibilitu a výkon s downstream čítačkami.
spark.sql.sources.v2.bucketing.enabled false true Spark predvolene umožňuje pripojenia s úložnými partíciami a ďalšie správanie Data Source V2 bucketing. Overujte plány dopytov a výsledky.
spark.sql.sources.v2.bucketing.pushPartValues.enabled false true Spark dokáže posielať kompatibilné hodnoty partícií pre Data Source V2 bucketing. Overujte plány dotazov pre tabuľky v vedrách.

Runtime 2.0 tiež používa ROCKSDB namiesto LEVELDB for spark.shuffle.service.db.backend a nastavuje spark.shuffle.service.removeShuffle na true. Spark používa externú službu zamiešania na vymazanie nepotrebných blokov zamiešania pre vyradených vykonávateľov.

Delta paralelné načítavanie snapshotov, paralelné preskakovanie dát a načítanie snapshotov na strane vodiča sa tiež menia z false na .true Testujte latenciu dotazov a využitie zdrojov ovládača, najmä pri dotazoch, ktoré pristupujú k viacerým tabuľkám Delta.

Prepísania pri začiatku relácie a natívne vykonávanie

Fabric feature rollouty môžu prepísať základné hodnoty pri začiatku relácie.

Konfigurácia Základná hodnota Runtime 2.0 Hodnota začiatku relácie Runtime 2.0 v regiónoch verejnej produkcie Úvahy o migrácii
spark.gluten.sql.columnar.costBasedFallback.enabled false true Produkčné spustenie zaznamenané 16. októbra 2026 umožňuje nákladový návrat k Sparku. Znovu skontrolujte plány dotazov a výkon, vrátane pracovných záťaží testovaných pred nasadením.
spark.sql.parquet.native.writer.complexTypes.enabled false true Testujte natívne zápisy a čítania v Parquete pre polia, mapy a štruktúry.

Keď používate natívny výkonný engine, zahrňte do regresných testov nasledujúce kontroly:

  • Overte využitie pamäte s predvolenou veľkosťou stĺpcovej dávky zvýšenou z 4 096 na 10 240.
  • Porovnajte plány zamiešania a výkon s percentalným prahom stĺpcového zamiešania, ktorý klesol zo 100 000 na 4 000 partícií.
  • Porovnajte výsledky pravidelných výrazov a výkon. Native-engine podpora Java regexu sa mení z vypnutý na povolený a nastavenie, ktoré všetky regex výrazy vracia späť do Spark, sa mení z true na false.

Predvolené nastavenia Apache Spark 4.1 sa v Fabric uchovávajú inak

Fabric Runtime 2.0 zámerne prepisuje nasledujúce predvolené nastavenia Apache Spark 4.1. Nepredpokladajte, že predvolený Spark 4.1 sa v Fabric nezmení.

Konfigurácia Apache Spark 4.1 predvolený Hodnota Fabric Runtime 2.0
spark.eventLog.compress true false
spark.eventLog.rolling.enabled true false
spark.sql.ansi.enabled true false
spark.sql.catalog.spark_catalog builtin org.apache.spark.sql.delta.catalog.DeltaCatalog
spark.sql.hive.metastore.version 2.3.10 2.3.2

Správanie Spark SQL a DataFrame

Spark 4.1 zavádza zmeny správania, ktoré môžu zmeniť výsledky dopytov alebo spôsobiť, že predtým prijaté dotazy zlyhajú. Venujte osobitnú pozornosť správaniu ANSI SQL, castom, operáciám s dátumovými a časovými pečiatkami, dátovým typom, JDBC mapovaniam a zastaraným SQL konfiguráciám.

Spustite regresné testy, ktoré porovnavajú:

  • Výstupné schémy, vrátane typu, presnosti, škálovania a neplatnosti.
  • Počet riadkov a súhrn výsledkov.
  • Správanie null, overflow, delenie nulou a neplatné vyvolanie.
  • Dátum, časová značka, časové pásmo a výsledky intervalov.
  • JDBC mapovania zdrojov a drezových typov.
  • Dotazujte sa na plány a výkon pre kritické pracovné zaťaženia.

Nepoužívajte nastavenia kompatibility starších ako trvalú migráciu. Ak ho dočasne použijete na izoláciu zlyhania, aktualizujte postihnutý kód a odstráňte toto nastavenie pred dokončením migrácie. Pre kompletný súbor zmien správania si pozrite sprievodcu migráciou SQL do Spark.

Python a pandas API na Sparku

Runtime 2.0 prechádza z Python 3.11 na Python 3.13 a obsahuje zmeny v PySparku zavedené v Spark 4.1. Spark 4.1 tiež zvyšuje minimálne podporované verzie pandas, NumPy a PyArrow a odstraňuje API, ktoré boli v predchádzajúcich verziách zastarané.

Bežné aktualizácie pandas API na Spark zahŕňajú:

  • Nahradíme DataFrame.iteritems a Series.iteritems za items.
  • Nahradíme DataFrame.append a Series.append za ps.concat.
  • Nahradiť odstránené inplace parametre kategóriových operácií priradeniami.
  • Review zmenil názvy parametrov a predvolené nastavenia, ako inclusive napríklad a Series.str.replace(regex=...).
  • Overujte názvy výsledkov stĺpcov, názvy indexov, dtypy a poradie.

Kompletný zoznam nájdete v sprievodcovi migráciou do PySparku.

Aplikácie pre Java a Scala

Scala 2.13 nie je binárne kompatibilná so Scalou 2.12. Opätovné použitie Runtime 1.3 JAR v Runtime 2.0 môže spôsobiť chyby pri načítavaní tried, aj keď sa zdrojový kód nezmenil. Vytvorte samostatný Runtime 2.0 artefakt a aktualizujte všetky Scala cross-built závislosti.

Spark 4.1 tiež mení svoje interné referencie servlet API z javax na jakarta. Skontrolujte vlastné poslucháče, rozšírenia Spark a knižnice, ktoré interagujú s internými funkciami Sparku. Pre ďalšie zmeny na úrovni enginu si pozrite sprievodcu migráciou Spark Core.

Streamovanie pracovných záťaží a konektorov

Zastarané EventHubConnector verzie zahrnuté v Runtime 1.3 nie sú dostupné v Runtime 2.0. Použite konektor Apache Spark Kafka s Kafka-kompatibilným endpointom pre Azure Event Hubs. Pre návod na nastavenie pozri Use Apache Spark with Azure Event Hubs for Apache Kafka.

Pre relevantné scenáre môžete tiež vyhodnotiť Fabric eventstream na spracovanie streamovaných dát v notebooku so Spark Structured Streaming. Pre viac informácií pozri Query eventstream v Microsoft Fabric z notebooku so Spark Structured Streaming.

Pre každú záťaž Structured Streaming:

  • Otestujte, či sa Runtime 2.0 dotaz môže reštartovať z kópie existujúceho kontrolného bodu.
  • Validujte stavové operácie, vodoznaky v čase udalostí, spúšťače, možnosti zdroja a zachytávania a výstupné schémy.
  • Uchovávajte zdrojové údaje a pôvodný kontrolný bod k dispozícii až do dokončenia overenia.
  • Ak je kontrolný bod nekompatibilný, naplánujte kontrolovaný reštart s novým kontrolným bodom. Zohľadnite opakované alebo preskočené vstupy a nastavte drez idempotentný pred reštartom.

Prejdite si migračného sprievodcu Structured Streaming pre zmeny kompatibility vyššie.

Tabuľky Delta Lake

Delta Lake udržiava spätnú kompatibilitu pre existujúce tabuľky, takže Runtime 2.0 môže pracovať s tabuľkami vytvorenými v Runtime 1.3. Avšak povolenie novšej funkcie tabuľky môže zvýšiť protokol čítačky alebo zapisovateľa tabuľky a zabrániť používaniu tabuľky staršími enginmi alebo inými Fabric zážitkami.

Počas počiatočnej migrácie za behu:

  • Neupgradujte protokoly tabuliek ani nezapájajte funkcie Delta Lake 4.2.
  • Skontrolujte funkcie a protokolové verzie novo vytvorených tabuliek, ako aj existujúcich tabuliek. Runtime 2.0 nastavuje spark.databricks.delta.properties.defaults.enableDeletionVectors na true; overuje výsledné metadáta tabuliek namiesto predpokladu, že vyhýbanie sa manuálnemu povoleniu funkcií zachováva kompatibilitu.
  • Testovacie čítania, zápisy, zlúčenia, vývoj schémy, údržbové operácie a súbežný prístup.
  • Identifikujte každý engine, ktorý číta alebo zapisuje každú tabuľku, vrátane SQL analytics endpointu, Power BI, pipelines, dataflows, eventstreamov a externých enginov.
  • Novú funkciu Delta zapnite až po tom, čo ju všetci spotrebitelia podporia.

Funkcie špecifické pre Delta Lake 4.2 sú v Fabric experimentálne a obmedzené na zážitky so Spark. Pre podpornú maticu a predvolené verzie protokolu pozri interoperabilitu formátov tabuliek Delta Lake.

Migrujte svoje pracovné záťaže

Použite postupnú migráciu namiesto okamžitej zmeny runtime produkčného pracovného priestoru.

1. Inventarizujte pracovné zaťaženia Runtime 1.3

Zaznamenajte nasledujúce informácie:

  • Zápisníky, definície úloh v Sparku, pipeline, harmonogramy a závislé položky.
  • Priradenia prostredia na úrovni pracovného priestoru a na úrovni položiek.
  • Konfigurácie Spark, vrátane všetkých nastavení kompatibility v legacy.
  • Verejné, súkromné a vlastné knižnice a ich vyriešené verzie.
  • Vlastné JAR súbory, Python kolieska, R balíky, natívne knižnice a inicializačná logika.
  • Zdroje dát, destinácie, tajomstvá, pripojenia a požiadavky na sieť.
  • Delta tabuľky a všetci ne-Spark konzumenti týchto tabuliek.
  • Streamovacie kontrolné body, schémy, offsety a požiadavky na obnovu.
  • Očakávané výstupné schémy, počet riadkov, kontroly kvality dát a výkonnostné základy.

Uprednostnite pracovné záťaže, ktoré používajú vlastné knižnice, natívny kód, Scalu, streamovací stav alebo pokročilé funkcie Delta.

2. Vytvoriť testovacie prostredie Runtime 2.0

Vytvorte samostatnú položku prostredia a vyberte 2.0 (Spark 4.1, Delta 4.2) ako jej runtime. Pridajte potrebné knižnice, uložte prostredie a publikujte ho. Pripojte prostredie k kópiám reprezentatívnych zápisníkov a definícií úloh v Spark pracovnom prostredí vo vývojovom alebo testovacom pracovnom priestore.

Ak váš produkčný pracovný priestor stále používa Runtime 1.3, nemeňte jeho runtime, kým testovanie nie je dokončené. Počas validácie nechajte existujúcu konfiguráciu dostupnú na vrátenie späť.

Ak chcete overiť nadchádzajúce aktualizácie Runtime 2.0 skôr, než sa dostanú na predvolený kanál, použite kanál early access release vo vašom testovacom prostredí. Viac informácií nájdete v Fabric runtime release channels.

3. Aktualizácia knižníc a kódu

Aplikujte zmeny identifikované v kontrole kompatibility:

  1. Nahradiť chýbajúce vstavané balíky explicitnými závislosťami prostredia.
  2. Aktualizujte alebo nahraďte balíky, ktoré nepodporujú Python 3.13, Java 21, Scala 2.13 alebo Azure Linux 3.0.
  3. Prebudujte vlastné JAR súbory a natívne binárne súbory.
  4. Aktualizácia odstránila PySpark a pandas API pri Spark volaniach.
  5. Vymeniť EventHubConnector konektor Kafka.
  6. Odstráňte nastavenia Spark pre konfigurácie, ktoré nie sú dostupné v Runtime 2.0, a skontrolujte explicitné prepísania konfigurácií, ktorých predvolené nastavenia sa zmenili.
  7. Vyriešiť rozdiely správania SQL v Spark v kóde namiesto trvalého spoliehania sa na staršie nastavenia.
  8. Počas tejto fázy nechajte existujúce funkcie a protokoly tabuľky Delta nezmenené.

4. Spustite testy kompatibility a regresie

Spustite rovnaké reprezentatívne vstupy na Runtime 1.3 a Runtime 2.0. Porovnať:

  • Stav dokončenia, záznamy, varovania a opakovania.
  • Schémy a dátové typy.
  • Výsledky na úrovni riadkov a súhrn.
  • História a protokol tabuľky Delta.
  • Postup streamovania, stav, latencia a spracovanie duplikátov.
  • Čas realizácie, spotreba zdrojov a náklady.
  • Downstream vedie k SQL analytickému endpointu, Power BI, pipeline a ďalším spotrebiteľom.

Zahrňte testy zlyhania a zotavenia, nielen úspešné behy. Testovacia relácia sa reštartuje, opakovania úlohy, obnova kontrolných bodov a súbežný prístup k tabuľkám.

5. Spustenie Runtime 2.0

Presúvajte pracovné zaťaženia v kontrolovaných dávkach:

  1. Publikujte overené prostredie Runtime 2.0.
  2. Pripojte ho k malej sade produkčných zošitov alebo definíciám pracovných pozícií v Sparku.
  3. Spúšťajte batch a monitorujte výstupy a downstream spotrebiteľov.
  4. Pokračujte v zostávajúcich úlohách po uplynutí pozorovacieho obdobia.
  5. Runtime 2.0 nastavte ako predvolený pracovný priestor až po dokončení migrácie na úrovni položiek.

Zmena runtime pracovného priestoru ovplyvňuje nové Spark relácie. Existujúce relácie pokračujú v používaní svojho aktuálneho času behu, kým neprestanú.

6. Udržiavať rollback path

Ponechajte prostredie Runtime 1.3, artefakty, špecifikácie knižnice a kontrolné body streamovania až do konca pozorovacieho obdobia Runtime 2.0. Na vrátenie späť pripojte prostredie Runtime 1.3 alebo obnovte predchádzajúci runtime pracovného priestoru a začnite novú reláciu Spark.

Important

Aktualizácia protokolu Delta zvyčajne nie je vratná. Nezapájajte funkcie tabuliek, ktoré zvyšujú protokol, kým nedokončíte validáciu Runtime 2.0 a nepotvrdíte kompatibilitu so všetkými spotrebiteľmi tabuliek.

Kontrolný zoznam migrácie

Pred dokončením migrácie si overte, že:

  • [ ] Každý požadovaný balík pre Python a R je explicitne dostupný a kompatibilný s Python 3.13 alebo R 4.5.
  • [ ] Vlastné JAR súbory cielia na Java 21, Scala 2.13 a Spark 4.1.
  • [ ] Natívne závislosti fungujú na Azure Linux 3.0.
  • [ ] Nastavenia definície pracovných miest, prostredia, notebookov a Spark nepoužívajú odstránené konfigurácie Sparku.
  • [ ] Pracovné záťaže sa testujú proti zmeneným predvoleným nastaveniam konfigurácie Spark v Runtime 2.0.
  • [ ] Testy Spark SQL a PySpark regresie prešli.
  • [ ] Záťaže Event Hubs používajú konektor Kafka.
  • [ ] Záťaže štruktúrovaného streamovania sa reštartujú a obnovia podľa návrhu.
  • [ ] Delta tabuľkové protokoly a funkcie zostávajú kompatibilné so všetkými spotrebiteľmi.
  • [ ] Kvalita dát, výkon a výsledky nákladov spĺňajú vaše kritériá prijatia.
  • [ ] Postupy zavádzania výroby, monitorovania a spätného postupu sú dokumentované a testované.