Unity 目錄的計算存取模式限制

Databricks 建議針對大部分工作負載使用 Unity 目錄和共用存取模式。 本文概述 Unity 目錄的每個存取模式的各種限制。 如需存取模式的詳細資訊,請參閱 存取模式

Databricks 建議使用計算原則來簡化大部分用戶的設定選項。 請參閱 建立和管理計算原則

注意

無隔離共用是不支援 Unity 目錄的舊版存取模式。

重要

Init 腳稿和連結庫在存取模式和 Databricks 執行時間版本之間有不同的支援。 請參閱 Init 腳本的安裝位置?叢集範圍連結庫

Unity 目錄上的單一使用者存取模式限制

Unity 目錄上的單一使用者存取模式有下列限制。 除了所有 Unity 目錄存取模式的一般限制之外,這些限制也一般。 請參閱 Unity 目錄的一般限制。

Unity 目錄單一使用者存取模式的精細訪問控制限制

  • 不支援動態檢視。

  • 若要從檢視讀取,您必須擁有 SELECT 所有參考數據表和檢視表。

  • 您無法存取具有 資料列篩選或資料行遮罩的數據表。

  • 您無法使用單一使用者計算來查詢已啟用 Unity 目錄之 Delta Live Tables 管線所建立的數據表,包括 串流數據表Databricks SQL 中建立的具體化檢視 。 若要查詢 Delta Live Tables 管線所建立的數據表,您必須使用 Databricks Runtime 13.3 LTS 和更新版本的共享計算。

Unity 目錄單一使用者存取模式的串流限制

  • Databricks Runtime 11.3 LTS 和以下版本不支援異步檢查點。

Unity 目錄上的共用存取模式限制

Unity 目錄上的共用存取模式有下列限制。 除了所有 Unity 目錄存取模式的一般限制之外,這些限制也一般。 請參閱 Unity 目錄的一般限制。

  • 不支援 Databricks Runtime ML 和 Spark 機器學習 連結庫 (MLlib)。

  • 不支援 Spark 提交作業。

  • 在 Databricks Runtime 13.3 和更新版本上,個別數據列不得超過大小上限 128MB。

  • 搭配認證傳遞使用時,會停用 Unity 目錄功能。

  • 不支援自定義容器。

Unity 目錄共用存取模式的語言支援

  • 不支援 R。
  • Databricks Runtime 13.3 和更新版本支援 Scala。

Unity 目錄共用存取模式的Spark API限制

  • 不支援 RDD API。
  • 只有當您使用外部位置來存取記憶體位置時,才支援直接從雲端記憶體讀取數據的 DBUtils 和其他用戶端。 請參閱 建立外部位置以將雲端記憶體連線到 Azure Databricks
  • 任何 Databricks Runtime 中的 Scala 都不支援 Spark 內容 (sc),spark.sparkContextsqlContext 在 Databricks Runtime 14.0 和更新版本不支援 Python。
    • Databricks 建議使用 spark 變數來與 SparkSession 實例互動。
    • 也不支援下列sc函式:emptyRDDrangeinit_batched_serializerparallelizebinaryFilesbinaryRecordspickleFilenewAPIHadoopRDDtextFilenewAPIHadoopFilewholeTextFilessequenceFilehadoopFilehadoopRDDunionuiWebUrlgetConfsetJobGroupstopsetLocalPropertysetSystemPropertyrunJob

Unity 目錄共用存取模式的 UDF 限制

重要

在已啟用 Unity 目錄的計算上支援使用共用存取模式的 Scala UDF 處於 公開預覽狀態

使用者定義函式 (UDF) 具有下列共享存取模式的限制:

  • 不支援Hive UDF。

  • applyInPandas Databricks Runtime 14.2 和以下版本不支援 和 mapInPandas

  • 在 Databricks Runtime 14.2 和更新版本中,支援純量 UDF。 不支援其他 Scala UDF 和 UDAF。

  • 在 Databricks Runtime 13.3 LTS 和更新版本中,支援 Python 純量 UDF 和 Pandas UDF。 不支援其他 Python UDF,包括 UDAF、UDF 和 Spark 上的 Pandas。

請參閱 Unity 目錄中的使用者定義函式 (UDF)。

Unity 目錄共用存取模式的串流限制

注意

某些列出的 Kafka 選項在用於 Azure Databricks 上支援的設定時,支援有限。 請參閱 使用 Apache Kafka 和 Azure Databricks 進行串流處理。

  • 針對 Scala, foreach 不支援 和 foreachBatch
  • 針對 Python,Databricks foreachBatch Runtime 14.0 和更新版本有新的行為。 請參閱 Databricks Runtime 14.0 中 foreachBatch 的行為變更。
  • 針對 Scala, from_avro 需要 Databricks Runtime 14.2 或更新版本。
  • 不支援 applyInPandasWithState
  • 不支援使用套接字來源。
  • sourceArchiveDir當您搭配 Unity 目錄管理的數據源使用 option("cleanSource", "archive") 時,必須位於與來源相同的外部位置。
  • 對於 Kafka 來源和接收,不支援下列選項:
    • kafka.sasl.client.callback.handler.class
    • kafka.sasl.login.callback.handler.class
    • kafka.sasl.login.class
    • kafka.partition.assignment.strategy
  • Databricks Runtime 13.3 LTS 和更新版本支援下列 Kafka 選項,但 Databricks Runtime 12.2 LTS 不支援。 您只能針對下列選項指定 Unity 目錄所管理的外部位置:
    • kafka.ssl.truststore.location
    • kafka.ssl.keystore.location

Unity 目錄共用存取模式的網路和檔案系統存取限制

  • 必須以低許可權使用者身分在計算節點上執行命令,禁止存取檔系統的敏感性部分。

  • 在 Databricks Runtime 11.3 LTS 和以下版本中,您只能建立埠 80 和 443 的網路連線。

  • 無法連線到實例元數據服務或 Azure WireServer。

Unity 目錄的一般限制

下列限制適用於所有已啟用 Unity 目錄的存取模式。

Unity 目錄的串流限制

請參閱 Unity 目錄單一使用者存取模式 的串流限制和 Unity 目錄共用存取模式的串流限制。

如需使用 Unity 目錄串流的詳細資訊,請參閱 搭配結構化串流使用 Unity 目錄。