共用方式為


無伺服器計算限制

本文將說明筆記本和作業的無伺服器計算能力的目前限制。 它會從最重要的考慮概觀開始,然後提供完整的限制參考清單。

限制概觀

在建立新的工作負載或將工作負載移轉至無伺服器計算之前,請先考慮下列限制:

  • 僅支援 Python 和 SQL 語言。
  • 僅支援 Spark 連線 API。 不支援 Spark RDD API。
  • 不支援 JAR 程式庫。 如需因應措施,請參閱無伺服器計算的最佳做法 (機器翻譯)。
  • 無伺服器計算適用於所有工作區使用者。
  • 不支援筆記本標籤。 使用 預算原則 來標記無伺服器使用量。
  • 只能針對串流使用累加批次邏輯。 不支援預設或以時間為基礎的觸發程序間隔。 請參閱串流限制

限制參考清單

下列各節列出無伺服器計算的目前限制。

無伺服器計算是以 Databricks 標準存取模式計算架構為基礎(先前稱為共用存取模式)。 繼承自標準存取模式的最相關限制如下,以及額外的無伺服器特定限制。 如需標準存取模式限制的完整清單,請參閱 Unity 目錄的計算存取模式限制。

一般限制

  • 不支援 Scala 和 R。
  • 寫入 SQL 時預設會使用 ANSI SQL。 將 spark.sql.ansi.enabled 設定為 false,即可選擇退出 ANSI 模式。
  • 不支援 Spark RDD API。
  • 不支援 Spark Context (sc)、spark.sparkContextsqlContext
  • 不支援網路終端機
  • 查詢無法執行超過 48 小時。
  • 您必須使用 Unity 目錄來連線到外部資料來源。 使用外部位置來存取雲端儲存體。
  • 資料來源的支援僅限於 AVRO、BINARYFILE、CSV、DELTA、JSON、KAFKA、ORC、PARQUET、ORC、TEXT 和 XML。
  • 使用者定義函式 (UDF) 無法存取網際網路。 因此,不支援 CREATE FUNCTION(外部) 命令。 Databricks 建議使用 CREATE FUNCTION (SQL 和 Python) 來建立 UDF。
  • 個別資料列不能超過 128MB 的大小上限。
  • 目前無法使用 Spark UI。 請改用查詢設定檔來檢視 Spark 查詢的相關資訊。 參閱查詢設定檔
  • 使用無伺服器筆記本和作業時,無法取得 Spark 日誌。 使用者只能存取用戶端應用程式記錄。
  • 只有在工作區位於相同區域,且目的地工作區未設定IP ACL或前端 PrivateLink 時,才允許跨工作區存取。
  • 不支援全域暫存視圖。 Databricks 建議使用 會話暫存視圖 或在需要跨會話數據傳遞時建立數據表。

串流限制

機器學習限制

筆記本限制

  • 筆記本可以存取 8GB 記憶體,但無法設定該記憶體。
  • 在不同的開發工作階段中,筆記本範圍的程式庫不會被快取。
  • 在用戶間共用記事本時,不支援 TEMP 資料表和檢視的共享功能。
  • 不支援在筆記本中對 DataFrame 的自動填寫和變數總管功能。

工作流程限制

  • 作業的無伺服器計算驅動程式大小目前為固定,且無法變更。
  • 任務日誌不會針對每次任務執行進行隔離。 記錄會包含多個工作的輸出。
  • 筆記本任務不支援任務程式庫。 請改用限於筆記本的程式庫。 請參閱限於筆記本的 Python 程式庫

計算相關的特定限制

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

  • 計算原則
  • 計算範圍的初始化腳本
  • 計算作用域的函式庫,包括自訂資料來源和 Spark 擴充功能。 請改用筆記本範圍的程式庫
  • 執行個體集區
  • 計算事件記錄
  • 大部分的 Apache Spark 運算配置。 如需支援的組態清單,請參閱 支援的Spark組態參數
  • 環境變數。 相較於此,Databricks 建議使用 小工具 來建立 作業和工作參數

快取限制

無伺服器計算不支持數據框架和 SQL 快取 API。 使用上述任何 API 或 SQL 命令將會導致例外狀況。

Hive的限制

  • 不支援 Hive SerDe 資料表。 此外,不支援將數據載入 Hive SerDe 資料表的對應 LOAD DATA 命令。 使用 命令會導致例外狀況。

    資料來源的支援僅限於 AVRO、BINARYFILE、CSV、DELTA、JSON、KAFKA、ORC、PARQUET、ORC、TEXT 和 XML。

  • 不支援 Hive 變數(例如 ${env:var}${configName}${system:var}spark.sql.variable)或透過 ${var} 語法使用的組態變數參考。 使用Hive變數會導致例外狀況。

    請改用 DECLARE VARIABLESET VARIABLESQL 會話變數參考 和參數標記 ('?' 或 ':var') 來宣告、修改和參考會話狀態。 您也可以使用 IDENTIFIER 子句,在許多情況下將物件名稱參數化。