從 Fabric Runtime 1.3 遷移到 Fabric Runtime 2.0

Fabric Runtime 2.0 是最新一般可用(GA)且預設的 Microsoft Fabric Apache Spark 工作負載執行環境。 它更新了作業系統、Java、Scala、Python、R、Apache Spark 和 Delta Lake。 由於這些更新中有不少跨越主要版本邊界,請在將生產工作負載從 Runtime 1.3 遷移前,先驗證你的筆記本、Spark 工作定義、函式庫和資料管線。

本指南說明可能影響遷移的變更,並提供將工作負載遷移至 Runtime 2.0 的分階段流程。

Runtime 2.0 的變更

下表比較了 Runtime 1.3 與 Runtime 2.0 中的主要元件。

Component 運行時間 1.3 執行環境 2.0 移民考量
發行階段 宣布終止支援(EOSA) GA 將生產工作負載遷移到支援的 GA 執行環境。
Apache Spark 3.5.5 4.1.1 檢視 Spark 4.1 的行為變更及移除的 API。
Delta Lake 3.2 4.2 驗證每個使用 Table 的 Fabric 工作負載中的資料表功能與協定相容性。
JAVA 11 21 重建並測試 Java 函式庫及 Java 原生介面(JNI)相依性。
Scala 2.12.17 2.13.16 重新編譯 Scala JAR 檔案以支援 Scala 2.13。 Scala 2.12 和 2.13 的 artifacts 在二進位層級不相容。
Python 3.11 3.13 確認每個 Python 套件是否提供 Python 3.13 相容版本及 Linux wheel。
R 4.4.1 4.5.2 重新安裝並測試自訂的 R 套件。 SparkR 在 Spark 4.1 版本中已被棄用。
作業系統 Azure Linux 2.0 (Mariner 2.0) Azure Linux 3.0 (Mariner 3.0) 重建 Azure Linux 3.0 的原生函式庫與自訂二進位檔。

執行階段 2.0 也提供新的 Apache Spark 4.1 功能,包括 VARIANT 資料型別、SQL 使用者自訂函式、工作階段變數、管道語法、字串定序、Python 資料來源 API、Python 使用者自訂資料表函式、統一的 PySpark 剖析,以及新的 Structured Streaming 狀態管理與偵錯 API。 如需概覽,請參閱 Fabric 中的 Runtime 2.0。

審查相容性變更

在將工作區或環境改為 Runtime 2.0 之前,請先檢視以下區域。

內建與自訂函式庫

Runtime 2.0 移除了 Runtime 1.3 中預裝的多個 Python 和 R 套件。 減少預設套件集能保持執行環境精簡,並降低潛在安全事件的攻擊面。 在 Runtime 1.3 中無需設定即可使用的套件,可能需要明確新增至你的 Runtime 2.0 環境中。

用 Library Manager 只新增你工作負載需要的套件,然後儲存並發佈環境。 Library Manager 會解決套件所需的相依性,因此不要在後續清單中逐一新增每個相依性。 不要假設函式庫已經存在,或其版本未曾更改:

  • 比較 Fabric 執行階段發行版本存放庫中的 Runtime 1.3 與 Runtime 2.0 套件清單。
  • 將缺少的 PyPI、Conda、Maven、R 或自訂函式庫加入環境,並發佈該環境。
  • 為生產工作負載固定版本,使相依性解決可重複。
  • 確認 Python 套件是否支援 Python 3.13。 具備原生擴充功能的套件必須提供相容的 Linux wheel,或成功在 Azure Linux 3.0 上建置。
  • 用 Scala 2.13 成品取代 Scala 2.12 的相依關係。 工件名稱通常包含 Scala 二進位版本,例如 _2.12 或 _2.13。
  • 針對 Java 21、Scala 2.13 和 Spark 4.1 重新編譯自訂 JAR 檔案。 測試傳遞相依性是否與執行時提供的函式庫衝突。
  • 重建 Azure Linux 3.0 的自訂原生函式庫。

Fabric 會在你更改現有環境執行時遷移函式庫規範,但它無法保證這些函式庫是否相容。 當依賴性解決發現衝突時,發佈就會失敗。 關於套件安裝選項與發佈模式,請參見管理 Fabric 環境中的函式庫。

從預設環境中移除的套件

以下清冊包含面向使用者的套件及其低階或傳遞相依性。 在這些清單中搜尋你的 Runtime 1.3 工作負載使用的套件。 如果某個套件已列出,請透過 Library Manager 在你的 Runtime 2.0 環境中新增與 Python 3.13 或 R 4.5 相容的版本。

Python 環境:348 個 Conda 套件
Package Package Package Package
_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 環境:24 個 pip 套件
Package Package Package Package
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 環境:67 個 Conda 套件
Package Package Package Package
_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

註

若外接存取保護或受管理的虛擬網路阻止存取公共倉庫,請下載相容的 wheel 檔案或架設套件鏡像。 相關說明請參見「管理 Fabric 中有限網路存取的函式庫」。

Spark 配置變更

執行時 2.0 會新增或移除 Spark 設定,並更改部分預設值。 Fabric 在某些設定上也使用了與 Apache Spark 不同的預設值。

遷移前,請檢視你為工作區、環境、筆記本和 Spark 工作定義所設定的 Spark 設定。 移除不再支援的設定,並測試依賴變更預設值的負載。 除非文件指示你更改設定,否則就用執行時的預設值。

顯著的預設值變更

下表列出部分基線變更。 未設定 表示基線不會明確設定值;也不代表該功能被停用。

Configuration Runtime 1.3 值 Runtime 2.0 值 移民考量
spark.checkpoint.compress false true 檢查點檔案預設是壓縮的。 驗證檢查點的互通性與儲存行為。
spark.databricks.delta.optimizeWrite.enabled true 未設定 該屬性並未被移除。 透過你的資料表、工作階段和資源設定檔設定來驗證有效的優化寫入行為。
spark.databricks.delta.optimizeWrite.partitioned.enabled false true 驗證分割 Delta 資料表的寫入吞吐量與輸出檔案大小。
spark.hadoop.parquet.block.size 1073741824 (1 GiB) 134217728 (128 MiB) Parquet 寫入器針對較小的區塊設計。 驗證檔案大小及下游讀取效能。
spark.microsoft.delta.optimize.fast.enabled false true OPTIMIZE 除非符合檔案數量或估計壓實大小標準,否則可跳過工作。 驗證維護結果。
spark.microsoft.delta.optimize.fileLevelTarget.enabled false true 先前達到至少一半壓實目標大小的檔案不會再次壓實。 在 OPTIMIZE 之後驗證檔案版面配置。
spark.microsoft.delta.targetFileSize.adaptive.enabled false true Delta 會根據資料表大小計算目標檔案大小。 驗證產生後的檔案大小與讀取效能。
spark.speculation.multiplier 1.5 3 任務的執行速度必須比中位數慢三倍以上,Spark 才會考慮對其進行推測執行。
spark.speculation.quantile 0.75 0.9 Spark 會等 90% 的任務完成後,才考慮是否進行推測性執行。
spark.sql.files.maxPartitionBytes 134217728 (128 MiB) 536870912 (512 MiB) 檔案掃描可以將更多資料放入每個分割區。 驗證平行性及執行器記憶體使用情況。
spark.sql.maxSinglePartitionBytes Long.MaxValue 128m 單一分割區預設限制為 128 MiB。 驗證產生大型單一分割區的查詢。
spark.sql.orc.compression.codec snappy zstd 新的 ORC 寫入預設使用 Zstandard 壓縮。 驗證與下游讀取器的相容性與效能。
spark.sql.sources.v2.bucketing.enabled false true Spark 預設啟用儲存區分連接及其他資料來源 V2 分桶行為。 驗證查詢計畫與結果。
spark.sql.sources.v2.bucketing.pushPartValues.enabled false true Spark 可以下推相容的分割區值,用於資料來源 V2 分桶。 驗證桶狀資料表的查詢計畫。

Runtime 2.0 也使用 ROCKSDB 代替 LEVELDB,針對 spark.shuffle.service.db.backend,並將 spark.shuffle.service.removeShuffle 設為 true。 Spark 使用外部洗牌服務來刪除已解除配置的執行器所不需要的洗牌區塊。

Delta 平行快照載入、平行資料略過及驅動端快照載入也從 false 變更為 true。 測試查詢延遲與驅動程式資源使用情況,特別是針對存取多個 Delta 資料表的查詢。

工作階段啟動覆蓋與原生執行

Fabric 功能分階段發佈可在會話開始時覆蓋基準值。

Configuration 執行階段 2.0 基準值 公用正式區域中的 Runtime 2.0 工作階段啟動值 移民考量
spark.gluten.sql.columnar.costBasedFallback.enabled false true 2026 年 10 月 16 日記錄的生產部署,啟用了以成本為基礎回退至 Spark 的機制。 重新檢查查詢計畫和效能,包括在那次部署前測試過的工作負載。
spark.sql.parquet.native.writer.complexTypes.enabled false true 測試原生 Parquet 的寫入與下游讀取,針對陣列、映射和結構體。

使用原生執行引擎時,請在迴歸測試中包含以下檢查:

  • 驗證記憶體使用量,欄式批次大小預設值從 4,096 增加到 10,240。
  • 比較洗牌計畫與效能,其中以排序為基礎的欄式洗牌閾值從 100,000 個分割區降至 4,000 個分割區。
  • 比較正則表達式的結果與表現。 原生引擎 Java 正則表達式支援從停用變為啟用,而將所有正則表達式退回 Spark 的設定也從 true 變成 false。

Apache Spark 4.1 在 Fabric 中保留的預設值有所不同

Fabric Runtime 2.0 有意覆寫以下 Apache Spark 4.1 的預設值。 不要以為上游的 Spark 4.1 預設在 Fabric 中會保持不變。

Configuration Apache Spark 4.1 預設版本 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

Spark SQL 與 DataFrame 行為

Spark 4.1 引入了行為變更,可能改變查詢結果或導致先前接受的查詢失敗。 特別注意 ANSI SQL 行為、型別轉換、日期與時間戳記操作、資料型別、JDBC 對應以及已棄用的 SQL 設定。

執行比較以下內容的回歸測試:

  • 輸出結構,包括型別、精確度、小數位數與空值。
  • 列數與彙總結果。
  • 空值、溢位、除以零以及無效轉型行為。
  • 日期、時間戳、時區及間隔結果。
  • JDBC 來源與接收端類型對應。
  • 關鍵工作負載的查詢計畫與效能。

不要把舊有相容性設定當作永久遷移策略。 如果你暫時用它來隔離某個故障,請在完成遷移前更新受影響的程式碼並移除該設定。 欲了解完整的行為變更,請參閱 Spark SQL 遷移指南。

Spark 上的 Python 與 pandas API

執行時 2.0 從 Python 3.11 升級到 Python 3.13,並包含 Spark 4.1 引入的 PySpark 變更。 Spark 4.1 也提高了 pandas、NumPy 和 PyArrow 的最低支援版本,並移除了先前版本中已棄用的 API。

常見的 Spark 上 pandas API 更新包括:

  • 將 DataFrame.iteritems 和 Series.iteritems 替換為 items。
  • 將 DataFrame.append 和 Series.append 替換為 ps.concat。
  • 將類別運算中已移除的 inplace 參數替換為指派。
  • 檢視變更的參數名稱和預設值,例如 inclusive 和 Series.str.replace(regex=...)。
  • 驗證結果欄位名稱、索引名稱、dtype 與排序是否相符。

完整清單請參閱 PySpark 遷移指南。

Java 與 Scala 應用程式

Scala 2.13 與 Scala 2.12 並不二進位相容。 在執行時 2.0 中重複使用執行時 1.3 JAR 即使原始碼未更改,也可能造成類別載入錯誤。 建立獨立的 Runtime 2.0 產物,並更新所有 Scala 交叉建置的相依關係。

Spark 4.1 也將其內部 servlet API 參考從 javax 改為 jakarta。 檢視自訂監聽器、Spark 擴充功能,以及與 Spark 內部互動的函式庫。 關於其他引擎層級的變更,請參閱 Spark Core 遷移指南。

串流工作負載與連接器

Runtime 1.3 隨附的已棄用 EventHubConnector 在 Runtime 2.0 中無法使用。 使用 Apache Spark Kafka connector 搭配 Azure 事件中樞 的 Kafka 相容端點。 關於設定指引,請參閱 Use Apache Spark with Azure 事件中樞 for Apache Kafka。

針對適用情境,你也可以評估 Fabric 事件串流,以擷取串流資料,並透過 Spark Structured Streaming 在筆記本中處理。 欲了解更多資訊,請參閱 從筆記本使用 Spark Structured Streaming 查詢 Microsoft Fabric 中的事件串流。

針對每個結構化串流工作負載:

  • 測試 Runtime 2.0 查詢是否能從現有檢查點的副本重新開始。
  • 驗證有狀態操作、事件時間浮水印、觸發器、來源與接收端選項,以及輸出結構。
  • 在驗證完成前,保留原始資料與原始檢查點。
  • 如果檢查點不相容,請規劃使用新的檢查點進行受控重啟。 考慮重播或跳過的輸入,並在重啟前讓接收端具有冪等性。

請參閱 結構化串流遷移指南 以了解上游相容性變更。

Delta Lake 資料表

Delta Lake 維持對現有資料表的向下相容性,因此 Runtime 2.0 能與 Runtime 1.3 建立的資料表相容。 然而,啟用較新的資料表功能可能會提升資料表的讀取者或寫入者通訊協定,並防止舊引擎或其他 Fabric 體驗使用該資料表。

在首次執行遷移期間:

  • 不要升級表格協定或啟用 Delta Lake 4.2 功能。
  • 檢查新建立資料表以及現有資料表的功能與協定版本。 執行時 2.0 設定 spark.databricks.delta.properties.defaults.enableDeletionVectors 為 true;驗證產生的表格元資料,而非假設避免手動啟用功能能維持相容性。
  • 測試讀取、寫入、合併、結構演化、維護操作及並行存取。
  • 識別每個讀取或寫入每個資料表的引擎,包括 SQL 分析端點、Power BI、管線、資料流、事件串流以及外部引擎。
  • 只有在所有使用者端都支援後,才啟用新的 Delta 功能。

Delta Lake 4.2 專屬功能在 Fabric 中仍屬實驗性質,僅限於 Spark 體驗。 關於支援矩陣及預設協定版本,請參見 Delta Lake 表格格式互通性。

移轉工作負載

使用分階段遷移,而不是立即為生產工作區變更執行階段。

1. 盤點你的 Runtime 1.3 工作負載

記錄下列資訊:

  • 筆記本、Spark 工作定義、管線、排程和依賴項目。
  • 工作區層級與項目層級環境指派。
  • Spark 設定,包括任何舊有相容性設定。
  • 公開、私有及自訂函式庫及其已解析版本。
  • 自訂 JAR 檔案、Python wheel 套件、R 套件、原生函式庫和初始化邏輯。
  • 資料來源、目的地、秘密、連線及網路需求。
  • Delta 資料表以及所有這些資料表的非 Spark 取用者。
  • 串流檢查點、結構、偏移量和復原需求。
  • 預期輸出結構、列數、資料品質檢查及效能基線。

優先處理使用自訂函式庫、原生程式碼、Scala、串流狀態或進階 Delta 功能的工作負載。

2. 建立執行時 2.0 測試環境

建立一個獨立的環境項目,並選擇 2.0(Spark 4.1、Delta 4.2) 作為執行時。 新增所需的函式庫,儲存環境,然後發佈它。 將環境附加到開發或測試工作區中代表性筆記本和 Spark 作業定義的副本上。

如果你的生產工作區仍在使用 Runtime 1.3,測試完成前不要更改其執行階段。 在驗證時保持現有設定可供回滾。

為了在即將推出的 Runtime 2.0 更新進入預設頻道前進行驗證,請在測試環境中使用搶先體驗發佈頻道。 欲了解更多資訊,請參閱 Fabric 執行時發布通道。

3. 更新函式庫與程式碼

套用相容性審查中所識別的變更:

  1. 以明確的環境相依取代缺少的內建套件。
  2. 升級或更換不支援 Python 3.13、Java 21、Scala 2.13 或 Azure Linux 3.0 的套件。
  3. 重建自訂的 JAR 檔案和原生二進位檔。
  4. 更新移除了對 PySpark 和 pandas API on Spark 的呼叫。
  5. 換 EventHubConnector 成 Kafka 連接器。
  6. 移除 Runtime 2.0 中無法使用的 Spark 設定,並檢視預設值已變更之設定的明確覆寫。
  7. 在程式碼中解決 Spark SQL 行為的差異,而不是永久依賴舊有設定。
  8. 在此階段內保持現有的 Delta 資料表功能和通訊協定不變。

4. 執行相容性與迴歸測試

在 Runtime 1.3 和 Runtime 2.0 上執行相同的代表性輸入。 比較:

  • 完成狀態、日誌、警告與重試。
  • 結構描述與資料型態。
  • 列級與彙總結果。
  • Delta 表格的歷史與通訊協定。
  • 串流進度、狀態、延遲和重複處理。
  • 執行時間、資源使用與成本。
  • 下游則延伸到 SQL 分析端點、Power BI、管線及其他取用端。

包含失敗與恢復測試,而不只是成功執行。 測試會話重啟、工作重試、檢查點恢復,以及並行資料表存取。

5. 推出 Runtime 2.0

將工作負載以受控批次移動:

  1. 發佈經過驗證的 Runtime 2.0 環境。
  2. 把它附加到一小組生產筆記本或 Spark 工作定義上。
  3. 執行批次並監控輸出和下游取用端。
  4. 觀察期結束後繼續完成剩餘的工作量。
  5. 僅在項目層級遷移完成後,將 Runtime 2.0 設為工作區預設。

更改工作區執行時間會影響新的 Spark 會話。 現有的 session 會繼續使用目前的執行階段,直到停止為止。

6. 保持回滾路徑

將 Runtime 1.3 環境、工件、函式庫規範及串流檢查點保留至 Runtime 2.0 觀察期結束為止。 要回滾,請重新附加 Runtime 1.3 環境,或還原先前的工作區執行環境並啟動新的 Spark 工作階段。

Important

Delta 協定升級通常無法逆轉。 在完成 Runtime 2.0 驗證並確認與每個資料表使用者相容之前,不要啟用會提高通訊協定版本的表格功能。

遷徙檢查清單

在完成遷移前,請確認:

  • [ ] 所有必需的 Python 與 R 套件皆明確可用,且相容於 Python 3.13 或 R 4.5。
  • [ ] 自訂 JAR 檔案針對 Java 21、Scala 2.13 和 Spark 4.1。
  • [ ] 原生相依關係在 Azure Linux 3.0 上運作。
  • [ ] 工作區、環境、筆記本和 Spark 工作定義設定都不會使用移除的 Spark 設定。
  • [ ] 工作負載會根據變更後的 Runtime 2.0 Spark 設定預設進行測試。
  • [ ] Spark SQL 和 PySpark 回歸測試通過。
  • [ ] Event Hubs 的工作負載使用 Kafka 連接器。
  • [ ] 結構化串流工作負載會依設計方式重新啟動與恢復。
  • [ ] Delta 表格的協議與功能仍與所有用戶端相容。
  • [ ] 資料品質、效能與成本結果符合您的驗收標準。
  • [ ] 生產部署、監控與回滾程序均已文件化並經過測試。