Lakehouse ランタイム カタログで Apache Spark を使用する

Apache Spark は、レイクハウス ランタイム カタログを介してボーダレス レイクハウスに接続します。この統合では、Apache Iceberg REST カタログ エンドポイントを使用して、Apache Iceberg テーブルを検出して管理するための標準インターフェースを提供します。

まずは、以下のガイドをご覧ください。

Spark 構成プロパティ

Apache Iceberg REST カタログ エンドポイントに接続するには、次のプロパティを使用して Spark セッションまたはジョブ送信を構成します。

プロパティ 値 説明
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 ランタイム カタログ内のマルチバケット カタログのウェアハウス パスを指定します。単一バケット カタログの場合は、gs://CLOUD_STORAGE_BUCKET_NAME を使用します。
spark.sql.catalog.CATALOG_NAME.header.x-goog-user-project PROJECT_ID Lakehouse ランタイム カタログ リクエストの課金と割り当てに使用する Google Cloud プロジェクト ID を指定します。
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 セッションで構成されたカタログ名識別子(例: my_catalog)。

  • LOCATION: リージョン エンドポイントを使用している場合にカタログが配置されている Google Cloud リージョン(例: us-central1)。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。

  • CATALOG_ID: Lakehouse ランタイム カタログ内のカタログの ID。

  • CLOUD_STORAGE_BUCKET_NAME: 単一バケット カタログに関連付けられている Cloud Storage バケットの名前。

構成の詳細については、クライアント アプリケーションを構成すると、公式の Apache Iceberg Spark のドキュメントをご覧ください。