共用方式為


無伺服器計算版本資訊

重要

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

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

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

即將推出的行為變更

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

版本資訊

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

無伺服器計算版本 2024.15

2024年4月15日

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

此版本包含下列更新:

支援的Spark組態參數

為了自動設定無伺服器計算上的Spark,Databricks 已移除手動設定大部分Spark組態的支援。 您只能手動設定下列 Spark 組態參數:

  • spark.sql.legacy.timeParserPolicy (預設值為 EXCEPTION
  • spark.sql.session.timeZone (預設值為 Etc/UTC
  • spark.sql.shuffle.partitions (預設值為 auto

如果您在無伺服器計算上執行作業,如果您設定不在這份清單中的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 程式庫

根據預設,下列 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 SecretStorage 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 終端機

  • 查詢無法執行超過 48 小時。

  • 您必須使用 Unity 目錄來連線到外部資料來源。 使用 外部位置 來存取雲端記憶體。

  • 數據源的支援僅限於 AVRO、BINARYFILE、CSV、DELTA、JSON、KAFKA、ORC、PARQUET、ORC、TEXT 和 XML。

  • 使用者定義函式 (UDF) 無法存取因特網。

  • 個別數據列不能超過大小上限 128MB。

  • 無法使用Spark UI。 請改用查詢配置檔來檢視 Spark 查詢的相關信息。 請參閱 查詢配置檔

  • 使用 Databricks 端點的 Python 用戶端可能會遇到 SSL 驗證錯誤,例如「CERTIFICATE_VERIFY_FAILED」。 若要解決這些錯誤,請將用戶端設定為信任位於 中的 /etc/ssl/certs/ca-certificates.crtCA 檔案。 例如,在無伺服器筆記本或作業的開頭執行下列命令: import os; os.environ['SSL_CERT_FILE'] = '/etc/ssl/certs/ca-certificates.crt'

  • 不支援跨工作區 API 要求。

串流限制

  • 結構化串流查詢需要 叫用 query.awaitTermination() 以確保查詢已完成。
  • 不支援預設或以時間為基礎的觸發程式間隔。 只支援 Trigger.AvailableNow。 請參閱 設定結構化串流觸發程式間隔
  • 共用存取模式上串流的所有限制也適用。 請參閱 Unity 目錄共用存取模式的串流限制。

機器學習限制

筆記本限制

工作流程限制

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

計算特定限制

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

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

常見問題集 (FAQ)

發行如何推出?

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

如何? 判斷我執行的無伺服器版本?

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

如何? 估計無伺服器的成本嗎?

Databricks 建議執行和基準檢驗代表或特定工作負載,然後分析計費系統數據表。 請參閱 計費使用量系統數據表參考

如何? 分析特定工作負載的 DBU 使用量嗎?

若要查看特定工作負載的成本,請查詢 system.billing.usage 系統數據表。 請參閱 監視無伺服器計算 的成本以取得範例查詢,並下載我們的成本可檢視性儀錶板。

我尚未針對工作流程和筆記本啟用無伺服器計算,為什麼我會看到無伺服器工作流程的計費記錄?

Lakehouse 監視預測優化 也會在無伺服器工作流程 SKU 下計費。

不需要啟用無伺服器計算即可使用這兩項功能。

無伺服器計算是否支援私人存放庫?

存放庫可以是私人存放庫,或需要驗證。 基於安全性考慮,存取已驗證的存放庫時,需要預先簽署的URL。

如何? 為我的作業工作安裝連結庫嗎?

Databricks 建議使用環境來安裝和管理工作流程的連結庫。 請參閱 設定非筆記本工作的環境和相依性。

我可以連線到自定義數據源嗎?

否,僅支援使用 Lakehouse 同盟的來源。 請參閱 支持的數據源

我可以為具有 DAB 的工作流程設定無伺服器計算嗎?

是,DAB 可用來設定使用無伺服器計算的作業。 請參閱 設定使用無伺服器計算的作業。