此頁面提供使用 Unity REST API 從外部 Delta 用戶端存取 Unity 目錄受控和外部數據表的概觀。 若要從外部用戶端建立外部 Delta 數據表,請參閱 從外部用戶端建立外部 Delta 數據表。
使用 Iceberg REST 目錄 ,從支援的 Iceberg 用戶端讀取 Azure Databricks 上的 Unity 目錄註冊數據表,包括 Apache Spark 和 DuckDB。
如需支援整合的完整清單,請參閱 Unity 目錄整合。
Tip
如需如何使用 Microsoft Fabric 讀取 Azure Databricks 數據的資訊,請參閱 使用 Microsoft Fabric 讀取在 Unity 目錄中註冊的數據。
使用 Unity REST API 讀取和寫入
Unity REST API 提供外部用戶端對註冊至 Unity 目錄之數據表的讀取許可權。 某些客戶端也支援建立數據表並寫入現有的數據表。
使用端點 /api/2.1/unity-catalog進行存取設定。
要求
Azure Databricks 支援 Unity REST API 存取數據表作為 Unity 目錄的一部分。 您必須在工作區中啟用 Unity 目錄,才能使用這些端點。 下表類型符合 Unity REST API 讀取的資格:
- Unity Catalog 管理資料表。
- Unity 目錄外部數據表。
您必須完成下列設定步驟,才能使用 Unity REST API 設定從 Delta 用戶端讀取 Databricks 物件的存取權:
- 為中繼存放區啟用 外部數據存取。 請參閱 在中繼存放區上啟用外部數據存取。
- 授予配置整合的主要角色在包含物件的架構上
EXTERNAL USE SCHEMA許可權。 請參閱 授予使用者 Unity Catalog 權限。 - 使用 Databricks 個人存取令牌進行驗證。 請參閱 授權存取 Azure Databricks 資源。
使用 Apache Spark 讀取 Delta 數據表
使用 Apache Spark 讀取 Unity 目錄管理及外部 Delta 資料表,需以下設定:
"spark.sql.extensions": "io.delta.sql.DeltaSparkSessionExtension",
"spark.sql.catalog.spark_catalog": "io.unitycatalog.spark.UCSingleCatalog",
"spark.sql.catalog.<uc-catalog-name>": "io.unitycatalog.spark.UCSingleCatalog",
"spark.sql.catalog.<uc-catalog-name>.uri": "<workspace-url>/api/2.1/unity-catalog",
"spark.sql.catalog.<uc-catalog-name>.token": "<token>",
"spark.sql.defaultCatalog": "<uc-catalog-name>",
"spark.jars.packages": "io.delta:delta-spark_2.12:3.2.1,io.unitycatalog:unitycatalog-spark_2.12:0.2.0,org.apache.hadoop:hadoop-azure:3.3.6"
替代下列變數:
-
<uc-catalog-name>:Unity Catalog 中包含您資料表的目錄名稱。 -
<workspace-url>:Azure Databricks 工作區的URL。 -
<token>:用於配置整合的主要人員的 PAT 令牌。
備註
上述套件版本截至本頁最後更新時為最新版本。 可能有新版本可用。 確認套件版本是否與你的 Databricks 執行時版本及 Spark 版本相容。
關於如何設定 Apache Spark 以進行雲端物件儲存的更多細節,請參閱 Unity 目錄 OSS 文件。