搭配 Apache Spark 使用 Lakehouse 執行階段目錄

Apache Spark 透過 Lakehouse 執行階段目錄連線至無邊界湖倉。這項整合功能會使用 Apache Iceberg REST 目錄端點,提供探索及管理 Apache Iceberg 資料表的標準介面。

如要開始使用,請參閱下列指南:

Spark 設定屬性

使用下列屬性設定 Spark 工作階段或工作提交作業,連線至 Apache Iceberg REST 目錄端點:

屬性 值 說明
spark.sql.catalog.CATALOG_NAME org.apache.iceberg.spark.SparkCatalog 註冊 Apache Iceberg Spark 目錄實作。
spark.sql.catalog.CATALOG_NAME.type rest 指定 REST 目錄類型。
spark.sql.catalog.CATALOG_NAME.uri https://biglake.googleapis.com/iceberg/v1/restcatalog 指定 Lakehouse 執行階段目錄中的 Apache Iceberg REST 目錄端點 URI。如要將要求轉送至區域端點,請使用 https://biglake.LOCATION.rep.googleapis.com/iceberg/v1/restcatalog。
spark.sql.catalog.CATALOG_NAME.warehouse bl://projects/PROJECT_ID/catalogs/CATALOG_ID 指定 Lakehouse 執行階段目錄中,多 bucket 目錄的倉儲路徑。如果是單一 bucket 目錄,請使用 gs://CLOUD_STORAGE_BUCKET_NAME。
spark.sql.catalog.CATALOG_NAME.header.x-goog-user-project PROJECT_ID 指定 Google Cloud 專案 ID,用於 Lakehouse 執行階段目錄要求的計費和配額。
spark.sql.catalog.CATALOG_NAME.rest.auth.type org.apache.iceberg.gcp.auth.GoogleAuthManager 設定 Apache Iceberg REST 目錄端點的 Google Cloud 驗證。
spark.sql.catalog.CATALOG_NAME.io-impl org.apache.iceberg.gcp.gcs.GCSFileIO 指定 Apache Iceberg 的 Cloud Storage FileIO 實作。使用憑證臨時配發模式時,必須提供這項資訊。
spark.sql.catalog.CATALOG_NAME.header.X-Iceberg-Access-Delegation vended-credentials 使用憑證臨時配發模式時,在載入資料表期間,向 Lakehouse 執行階段目錄要求效期短、範圍縮小的儲存空間憑證。
spark.sql.extensions org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions 在 Spark 啟用 Apache Iceberg SQL 擴充功能和最佳化功能。
spark.sql.defaultCatalog CATALOG_NAME 選用:設定 Spark 工作階段的預設目錄。

更改下列內容:

  • CATALOG_NAME:Spark 工作階段中設定的目錄名稱 ID (例如 my_catalog)。

  • LOCATION:使用區域端點時,目錄所在的 Google Cloud 區域 (例如 us-central1)。

  • PROJECT_ID:您的 Google Cloud 專案 ID。

  • CATALOG_ID:Lakehouse 執行階段目錄中的目錄 ID。

  • CLOUD_STORAGE_BUCKET_NAME:與單一 bucket 目錄相關聯的 Cloud Storage bucket 名稱。

如需更多設定詳細資料,請參閱「設定用戶端應用程式」和官方 Apache Iceberg Spark 說明文件。