無伺服器計算版本資訊

重要

這項功能處於公開預覽狀態。 如需資格和啟用的相關信息,請參閱 啟用無伺服器計算公開預覽

本文說明筆記本和工作流程目前可用的功能和行為,以及即將推出的無伺服器計算。

Databricks 會定期發行無伺服器計算的更新。 所有用戶都會取得相同的更新,在短時間內推出。 請參閱 如何推出版本?

即將推出的行為變更

本節將反白顯示下一個無伺服器計算版本中的行為變更。 當變更推送至生產環境時,它們會新增至版本資訊。

版本資訊

本節包含無伺服器計算的版本資訊。 版本資訊會依年份和一周組織。 無伺服器計算一律會使用此處所列的最新發行版本執行。

無伺服器計算版本 2024.15

2024年4月15日

無伺服器計算版本 2024.15 已發行至生產環境。 這是初始無伺服器計算版本,其大致對應至 Databricks Runtime 14.3 ,並進行了一些修改,可移除某些非無伺服器和舊版功能的支援。

此版本包含下列更新:

不支援Spark組態

為了在無伺服器計算上自動化Spark組態,Databricks已移除對大部分Spark組態的支援。 您只能在 Spark 設定中設定 spark.sql.legacy.timeParserPolicyspark.sql.session.timeZone

如果您嘗試任何其他 Spark 設定,則不會執行。

不支援快取 API 和 SQL 命令

不支援使用 Dataframe 和 SQL 快取 API。 使用上述任何 API 或 SQL 命令將會導致例外狀況。

不支援的 API:

不支援的 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 VARIABLESET VARIABLESQL 會話變數參考 和參數標記 ('?' 或 ':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 不再隱含地將時區轉換套用至時間戳。

系統環境

沒有伺服器計算包含下列系統環境:

  • 操作系統: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.sparkContextsqlContext
  • 您無法存取 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 查詢的相關信息。 請參閱 查詢配置檔

機器學習限制

筆記本限制

工作流程限制

  • 工作流程的無伺服器計算驅動程式大小目前為固定,且無法變更。
  • 工作記錄不會針對每個工作執行隔離。 記錄會包含多個工作的輸出。
  • 筆記本工作不支援工作連結庫。 請改用筆記本範圍的連結庫。 請參閱 筆記本範圍的 Python 連結庫

計算特定限制

不支援下列計算特定功能:

  • 計算原則
  • 計算範圍的 init 腳本
  • 計算範圍的連結庫,包括自定義數據源和 Spark 延伸模組。 請改用 筆記本範圍的連結庫
  • 計算層級的數據存取組態。 因此,透過雲端路徑上的 HMS 或沒有內嵌認證的 DBFS 掛接存取資料表和檔案將無法運作。
  • 執行個體集區
  • 計算事件記錄檔
  • Apache Spark 計算組態和環境變數

常見問題集 (FAQ)

發行如何推出?

無伺服器計算是無 版本 的產品,這表示 Databricks 會自動升級無伺服器計算運行時間,以支援對平臺的增強功能和升級。 所有用戶都會取得相同的更新,在短時間內推出。

如何? 判斷我執行哪個版本?

無伺服器工作負載一律會在最新的運行時間版本上執行。 請參閱 最新版本的版本資訊