無伺服器計算版本資訊
重要
這項功能處於公開預覽狀態。 如需資格和啟用的相關信息,請參閱 啟用無伺服器計算公開預覽。
本文說明筆記本和工作流程目前可用的功能和行為,以及即將推出的無伺服器計算。
Databricks 會定期發行無伺服器計算的更新。 所有用戶都會取得相同的更新,在短時間內推出。 請參閱 如何推出版本?。
即將推出的行為變更
本節將反白顯示下一個無伺服器計算版本中的行為變更。 當變更推送至生產環境時,它們會新增至版本資訊。
版本資訊
本節包含無伺服器計算的版本資訊。 版本資訊會依年份和一周組織。 無伺服器計算一律會使用此處所列的最新發行版本執行。
無伺服器計算版本 2024.15
2024年4月15日
無伺服器計算版本 2024.15 已發行至生產環境。 這是初始無伺服器計算版本,其大致對應至 Databricks Runtime 14.3 ,並進行了一些修改,可移除某些非無伺服器和舊版功能的支援。
此版本包含下列更新:
- 不支援Spark組態
- 不支援快取 API 和 SQL 命令
- 不支援全域暫存檢視
- 不支援 CREATE FUNCTION (外部)
- 不支援Hive SerDe資料表
- 不支援Hive變數
- input_file函式已被取代
- 行為變更
不支援Spark組態
為了在無伺服器計算上自動化Spark組態,Databricks已移除對大部分Spark組態的支援。 您只能在 Spark 設定中設定 spark.sql.legacy.timeParserPolicy
與 spark.sql.session.timeZone
。
如果您嘗試任何其他 Spark 設定,則不會執行。
不支援快取 API 和 SQL 命令
不支援使用 Dataframe 和 SQL 快取 API。 使用上述任何 API 或 SQL 命令將會導致例外狀況。
不支援的 API:
- df.cache(), df.persist()
- df.unpersist()
- spark.catalog.cacheTable()
- spark.catalog.uncacheTable()
- spark.catalog.clearCache()
不支援的 SQL 命令:
不支援全域暫存檢視
不支援建立全域暫存檢視。 使用下列其中一個命令會導致例外狀況:
相反地,Databricks 建議使用 會話暫存檢視 ,或建立需要跨會話數據傳遞的數據表。
不支援 CREATE FUNCTION (外部)
不支援 CREATE FUNCTION (External) 命令。 使用此命令會導致例外狀況。
相反地,Databricks 建議使用 CREATE FUNCTION (SQL 和 Python) 來建立 UDF。
不支援Hive SerDe資料表
不支援Hive SerDe資料表 。 此外,不支援將數據載入 Hive SerDe 資料表的對應 LOAD DATA 命令。 使用 命令會導致例外狀況。
數據源的支援僅限於 AVRO、BINARYFILE、CSV、DELTA、JSON、KAFKA、ORC、PARQUET、ORC、TEXT 和 XML。
不支援Hive變數
不支援Hive變數 (例如${env:var}
、 ${configName}
${system:var}
和 spark.sql.variable
) 或使用語法的${var}
組態變數參考。 使用Hive變數會導致例外狀況。
請改用 DECLARE VARIABLE、 SET VARIABLE 和 SQL 會話變數參考 和參數標記 ('?' 或 ':var') 來宣告、修改和參考會話狀態。 在許多情況下,您也可以使用 IDENTIFIER子句 來參數化物件名稱。
input_file函式已被取代
input_file_name()、input_file_block_length()和input_file_block_start() 函式已被取代。 強烈建議您不要使用這些函式。
請改用檔案 元數據數據行 來擷取檔案元數據資訊。
行為變更
無伺服器計算 2024.15 版包含下列行為變更:
- unhex(hexStr) 錯誤修正: 使用 函
unhex(hexStr)
式時,hexStr 一律會填補到整個位元組。 先前 unhex 函式忽略了前半位元組。 例如:unhex('ABC')
現在會產生x'0ABC'
而不是x'BC'
。 - 自動產生的數據行別名現在穩定: 在沒有使用者指定的數據行別名的情況下參考表達式的結果時,此自動產生的別名現在會穩定。 新的演算法可能會導致變更先前自動產生的名稱,例如具體化檢視等功能。
- 具有
CHAR
類型欄位的數據表掃描現在一律會填補: 差異數據表、特定 JDBC 資料表和外部數據源會將 CHAR 資料儲存在非填補格式。 讀取時,Databricks 現在會將空格填補到宣告長度的數據,以確保正確的語意。 - 從 BIGINT/DECIMAL 轉換成 TIMESTAMP 會針對溢位值擲回例外狀況: Databricks 可藉由將值視為 Unix epoch 的秒數,從 BIGINT 和 DECIMAL 轉換成 TIMESTAMP。 先前,Databricks 會傳回溢位的值,但現在會在溢位的情況下擲回例外狀況。 使用
try_cast
傳回 NULL,而不是例外狀況。 - 已改善 PySpark UDF 執行,以符合單一用戶計算上 UDF 執行的確切行為:已進行下列變更:
- 具有字串傳回類型的UDF不再隱含地將非字串值轉換成字串。 先前,具有傳回型別的
str
UDF 會將包裝函式套用str(..)
至結果,而不論傳回值的實際數據類型為何。 - 傳
timestamp
回類型的 UDF 不再隱含地將時區轉換套用至時間戳。
- 具有字串傳回類型的UDF不再隱含地將非字串值轉換成字串。 先前,具有傳回型別的
系統環境
沒有伺服器計算包含下列系統環境:
- 操作系統:Ubuntu 22.04.3 LTS
- Python:3.10.12
- Delta Lake:3.1.0
已安裝的 Python 程式庫
程式庫 | 版本 | 程式庫 | 版本 | 程式庫 | 版本 |
---|---|---|---|---|---|
anyio | 3.5.0 | argon2-cffi | 21.3.0 | argon2-cffi-bindings | 21.2.0 |
asttokens | 2.0.5 | astunparse | 1.6.3 | attrs | 22.1.0 |
backcall | 0.2.0 | beautifulsoup4 | 4.11.1 | black | 22.6.0 |
bleach | 4.1.0 | blinker | 1.4 | boto3 | 1.24.28 |
botocore | 1.27.96 | cachetools | 5.3.2 | certifi | 2022.12.7 |
cffi | 1.15.1 | chardet | 4.0.0 | charset-normalizer | 2.0.4 |
按一下 | 8.0.4 | 通訊 | 0.1.2 | contourpy | 1.0.5 |
密碼編譯 | 39.0.1 | cycler | 0.11.0 | Cython | 0.29.32 |
databricks-connect | 14.3.1 | databricks-sdk | 0.20.0 | dbus-python | 1.2.18 |
debugpy | 1.6.7 | decorator | 5.1.1 | defusedxml | 0.7.1 |
distlib | 0.3.8 | docstring-to-markdown | 0.11 | entrypoints | 0.4 |
執行 | 0.8.3 | facets-overview | 1.1.1 | fastjsonschema | 2.19.1 |
filelock | 3.13.1 | fonttools | 4.25.0 | google-auth | 2.28.1 |
googleapis-common-protos | 1.62.0 | grpcio | 1.62.0 | grpcio-status | 1.62.0 |
httplib2 | 0.20.2 | idna | 3.4 | importlib-metadata | 4.6.4 |
ipyflow-core | 0.0.198 | ipykernel | 6.25.0 | ipython | 8.14.0 |
ipython-genutils | 0.2.0 | ipywidgets | 7.7.2 | jedi | 0.18.1 |
jeepney | 0.7.1 | Jinja2 | 3.1.2 | jmespath | 0.10.0 |
joblib | 1.2.0 | jsonschema | 4.17.3 | jupyter-client | 7.3.4 |
jupyter-server | 1.23.4 | jupyter_core | 5.2.0 | jupyterlab-pygments | 0.1.2 |
jupyterlab-widgets | 1.0.0 | keyring | 23.5.0 | kiwisolver | 1.4.4 |
launchpadlib | 1.10.16 | lazr.restfulclient | 0.14.4 | lazr.uri | 1.0.6 |
lxml | 4.9.1 | MarkupSafe | 2.1.1 | matplotlib | 3.7.0 |
matplotlib-inline | 0.1.6 | mccabe | 0.7.0 | mistune | 0.8.4 |
more-itertools | 8.10.0 | mypy-extensions | 0.4.3 | nbclassic | 0.5.2 |
nbclient | 0.5.13 | nbconvert | 6.5.4 | nbformat | 5.7.0 |
nest-asyncio | 1.5.6 | nodeenv | 1.8.0 | notebook | 6.5.2 |
notebook_shim | 0.2.2 | numpy | 1.23.5 | oauthlib | 3.2.0 |
封裝 | 23.2 | pandas | 1.5.3 | pandocfilters | 1.5.0 |
parso | 0.8.3 | pathspec | 0.10.3 | patsy | 0.5.3 |
pexpect | 4.8.0 | pickleshare | 0.7.5 | Pillow | 9.4.0 |
pip | 22.3.1 | platformdirs | 2.5.2 | plotly | 5.9.0 |
pluggy | 1.0.0 | prometheus-client | 0.14.1 | prompt-toolkit | 3.0.36 |
protobuf | 4.25.3 | psutil | 5.9.0 | psycopg2 | 2.9.3 |
ptyprocess | 0.7.0 | pure-eval | 0.2.2 | py4j | 0.10.9.7 |
pyarrow | 8.0.0 | pyarrow-Hotfix | 0.5 | pyasn1 | 0.5.1 |
pyasn1-modules | 0.3.0 | pyccolo | 0.0.52 | pycparser | 2.21 |
pydantic | 1.10.6 | pyflakes | 3.1.0 | Pygments | 2.11.2 |
PyGObject | 3.42.1 | PyJWT | 2.3.0 | pyodbc | 4.0.32 |
pyparsing | 3.0.9 | pyright | 1.1.294 | 火熱 | 0.18.0 |
python-dateutil | 2.8.2 | python-lsp-jsonrpc | 1.1.1 | python-lsp-server | 1.8.0 |
pytoolconfig | 1.2.5 | pytz | 2022.7 | pyzmq | 23.2.0 |
requests | 2.28.1 | 繩 | 1.7.0 | rsa | 4.9 |
s3transfer | 0.6.2 | scikit-learn | 1.1.1 | scipy | 1.10.0 |
seaborn | 0.12.2 | 秘密 儲存體 | 3.3.1 | Send2Trash | 1.8.0 |
setuptools | 65.6.3 | 六次 | 1.16.0 | sniffio | 1.2.0 |
soupsieve | 2.3.2.post1 | ssh-import-id | 5.11 | stack-data | 0.2.0 |
statsmodels | 0.13.5 | tenacity | 8.1.0 | terminado | 0.17.1 |
threadpoolctl | 2.2.0 | tinycss2 | 1.2.1 | tokenize-rt | 4.2.1 |
tomli | 2.0.1 | tornado | 6.1 | traitlets | 5.7.1 |
typing_extensions | 4.4.0 | ujson | 5.4.0 | 自動升級 | 0.1 |
urllib3 | 1.26.14 | virtualenv | 20.16.7 | wadllib | 1.3.6 |
wcwidth | 0.2.5 | webencodings | 0.5.1 | websocket-client | 0.58.0 |
whatthepatch | 1.0.2 | wheel | 0.38.4 | widgetsnbextension | 3.6.1 |
yapf | 0.33.0 | Zip | 1.0.0 |
限制
無伺服器計算是以共享計算架構為基礎。 繼承自共用計算的最重要限制如下,以及額外的無伺服器特定限制。 如需共用計算限制的完整清單,請參閱 Unity 目錄的計算存取模式限制。
一般限制
- 不支援 Scala 和 R。
- 寫入 SQL 時僅支援 ANSI SQL。
- 不支援 Spark RDD API。
- 不支援 Spark 內容 (sc)、
spark.sparkContext
和sqlContext
。 - 您無法存取 DBFS。
- 不支援 Databricks Container Services 。
- 不支援 Web 終端機。
- 結構化串流 查詢需要 叫用
query.awaitTermination()
以確保查詢已完成。 - 查詢無法執行超過 48 小時。
- 您必須使用 Unity 目錄來連線到外部資料來源。 使用 外部位置 來存取雲端記憶體。
- 數據源的支援僅限於 AVRO、BINARYFILE、CSV、DELTA、JSON、KAFKA、ORC、PARQUET、ORC、TEXT 和 XML。
- 使用者定義函式 (UDF) 無法存取因特網。
- 個別數據列不能超過大小上限 128MB。
- 無法使用Spark UI。 請改用查詢配置檔來檢視 Spark 查詢的相關信息。 請參閱 查詢配置檔。
機器學習限制
- 不支援適用於 機器學習 和 Apache Spark MLlib 的 Databricks Runtime。
- 不支援 GPU。
筆記本限制
- 筆記本可以存取無法設定的8GB記憶體。
- 筆記本範圍的連結庫不會跨開發會話快取。
- 不支援在用戶之間共用筆記本時共用 TEMP 資料表和檢視。
- 不支援筆記本中數據框架的自動完成和變數 總管。
工作流程限制
- 工作流程的無伺服器計算驅動程式大小目前為固定,且無法變更。
- 工作記錄不會針對每個工作執行隔離。 記錄會包含多個工作的輸出。
- 筆記本工作不支援工作連結庫。 請改用筆記本範圍的連結庫。 請參閱 筆記本範圍的 Python 連結庫。
計算特定限制
不支援下列計算特定功能:
- 計算原則
- 計算範圍的 init 腳本
- 計算範圍的連結庫,包括自定義數據源和 Spark 延伸模組。 請改用 筆記本範圍的連結庫 。
- 計算層級的數據存取組態。 因此,透過雲端路徑上的 HMS 或沒有內嵌認證的 DBFS 掛接存取資料表和檔案將無法運作。
- 執行個體集區
- 計算事件記錄檔
- Apache Spark 計算組態和環境變數
常見問題集 (FAQ)
發行如何推出?
無伺服器計算是無 版本 的產品,這表示 Databricks 會自動升級無伺服器計算運行時間,以支援對平臺的增強功能和升級。 所有用戶都會取得相同的更新,在短時間內推出。
如何? 判斷我執行哪個版本?
無伺服器工作負載一律會在最新的運行時間版本上執行。 請參閱 最新版本的版本資訊 。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應