Warning

注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

Google Cloud Storage

Foundry を Google Cloud Storage に接続して、Foundry データセットとストレージバケット間でファイルを同期します。

サポートされている機能

機能ステータス
探索🟢 一般的に利用可能
バルクインポート🟢 一般的に利用可能
インクリメンタル🟢 一般的に利用可能
バーチャルテーブル🟢 一般的に利用可能
エクスポートタスク🟡 サンセット
ファイルエクスポート🟢 一般的に利用可能

データモデル

コネクターは、任意のタイプのファイルを Foundry データセットに転送できます。ファイル形式は保持され、転送中または転送後にスキーマは適用されません。必要なスキーマを出力データセットに適用するか、データにアクセスするための下流の変換を書く

パフォーマンスと制限

転送可能なファイルのサイズには制限がありません。しかし、ネットワークの問題が大規模な転送の失敗を引き起こすことがあります。特に、2日以上かかる直接のクラウド同期は中断されます。ネットワークの問題を避けるために、小さなファイルサイズを使用し、各同期の実行で取り込むファイルの数を制限することをお勧めします。同期はスケジュールで頻繁に実行することができます。

セットアップ

  1. Data Connection アプリを開き、画面の右上隅にある + New Source を選択します。
  2. 利用可能なコネクタータイプから Google Cloud Storage を選択します。
  3. インターネット経由で直接接続を使用するか、または仲介エージェント経由で接続を選択します。
  4. 以下のセクションにある情報を使用してコネクターのセットアップを続けるための追加の設定プロンプトに従います。

Foundry でコネクターを設定する方法については、こちらをご覧ください。

Google Cloud Storage の認証とセットアップを進めるためには、Google Cloud IAM サービスアカウント ↗が必要です。

認証

以下のロールがアクセスされるバケットに必要です。

  • Storage Object Viewer: データの読み取り
  • Storage Object Creator: Google Cloud Storage へのデータエクスポート
  • Storage Object Admin: Foundry へのインポート後に Google Cloud Storage からファイルを削除。

必要な役割については、Google Cloud のアクセス制御に関するドキュメンテーション ↗をご覧ください。

利用可能な認証方法から一つを選択します。

  • GCP インスタンスアカウント: インスタンスベースの認証の設定方法については、Google Cloud ドキュメンテーション ↗を参照してください。

    • GCP インスタンス認証は、GCP で適切に設定されたインスタンス上で動作するエージェントを介したコネクターにのみ有効です。
  • サービスアカウントキーファイル: サービスアカウントキーファイル認証の設定方法については、Google Cloud ドキュメンテーション ↗を参照してください。

  • ワークロードアイデンティティ連携 (OIDC): 表示されるソースシステム設定の指示に従って OIDC を設定します。ワークロードアイデンティティ連携についての詳細は、Google Cloud ドキュメンテーション ↗ を、OIDC が Foundry とどのように連携するかについての詳細は、我々のドキュメンテーションを参照してください。

ネットワーキング

Google Cloud Storage コネクターは、ポート 443 で以下のドメインへのネットワークアクセスが必要です。

  • storage.googleapis.com
  • oauth2.googleapis.com
  • accounts.google.com

設定オプション

Google Cloud Storage コネクターには以下の設定オプションが利用可能です。

オプション必須?説明
Project IdはいCloud Storage バケットを含むプロジェクトの ID。
Bucket nameはいデータを読み書きするバケットの名前。
資格情報設定はい上記の認証のガイダンスを使用して設定します。
プロキシ設定いいえGoogle Cloud Storage に接続する際にプロキシを使用するために有効化します。

Google Cloud Storage からデータを同期

Google Cloud Storage コネクターは、ファイルベースの同期インターフェースを使用します。ファイルベースの同期設定のドキュメンテーションを参照してください。

バーチャルテーブル

このセクションでは、Google Cloud Storage ソースからバーチャルテーブルを使用する際の詳細を提供します。このセクションは、Foundry データセットに同期する場合は適用されません。

バーチャルテーブル機能ステータス
ソース形式🟢 一般的に利用可能: Avro ↗, Delta ↗, Iceberg ↗, Parquet ↗
手動登録🟢 一般的に利用可能
自動登録🔴 利用不可
プッシュダウンコンピューティング🔴 利用不可
インクリメンタルパイプラインサポート🟢 Delta テーブルについて一般的に利用可能: APPEND のみ (詳細)
🟢 Iceberg テーブルについて一般的に利用可能: APPEND のみ (詳細)
🔴 Parquet テーブルについては利用不可

バーチャルテーブルを使用する場合、以下のソース設定要件を覚えておいてください。

  • ソースは直接接続として設定する必要があります。バーチャルテーブルは仲介エージェントの使用をサポートしていません。
  • このドキュメンテーションのネットワーキングセクションで説明されているように、双方向の接続と許可リストの設定が確立されていることを確認します。
  • Code Repositories のバーチャルテーブルを使用する場合は、追加のソース設定が必要な詳細については、バーチャルテーブルドキュメンテーションを参照してください。
  • ソースの資格情報を設定する際、JSON資格情報PKC8認証、または ワークロードアイデンティティ連携(OIDC) のいずれかを使用する必要があります。バーチャルテーブルを使用する際には、他の資格情報オプションはサポートされていません。

Delta

バーチャルテーブルを利用したパイプラインでインクリメンタルサポートを有効にするには、ソースの Delta テーブルで Change Data Feed ↗ が有効になっていることを確認します。Pythonトランスフォームcurrentadded 読み取りモードがサポートされています。_change_type_commit_version_commit_timestamp 列は Pythonトランスフォームで利用可能となります。

Iceberg

Apache Iceberg テーブルを利用したバーチャルテーブルをロードするには、Iceberg カタログが必要です。Iceberg カタログについて詳しくは、Apache Iceberg ドキュメンテーション ↗をご覧ください。ソースに登録されているすべての Iceberg テーブルは、同じ Iceberg カタログを使用する必要があります。

テーブルは GCS の Iceberg メタデータファイルを使用して作成されます。テーブルを登録する際に、これらのメタデータファイルの場所を示す warehousePath を提供する必要があります。

インクリメンタルサポートは Iceberg インクリメンタル読み取り ↗に依存しており、現在は追加のみです。Pythonトランスフォームcurrentadded 読み取りモードがサポートされています。

Parquet

Parquet を使用するバーチャルテーブルは、スキーマ推測に依存します。最大100のファイルがスキーマを決定するために使用されます。

Google Cloud Storage へのデータエクスポート

コネクターは、Foundry データセットのファイルを Google Cloud Storage バケットの任意の場所にコピーできます。

データのエクスポートを開始するには、エクスポートタスクを設定する必要があります。エクスポートしたい Google Cloud Storage コネクターを含むプロジェクトフォルダーに移動します。コネクター名を右クリックし、Create Data Connection Taskを選択します。

Data Connection ビューの左パネルで:

  1. Source 名が使用したいコネクターと一致していることを確認します。
  2. Input という名前の inputDataset を追加します。入力データセットはエクスポートされる Foundry データセットです。
  3. Output という名前の outputDataset を追加します。出力データセットはタスクの実行、スケジュール、監視に使用されます。
  4. 最後に、テキストフィールドに YAML ブロックを追加してタスク設定を定義します。

左側のパネルに表示されるコネクターと入力データセットのラベルは、YAML で定義された名前を反映していません。

エクスポートタスク YAML を作成する際に以下のオプションを使用します:

オプション必須?説明
directoryPathはいファイルが書き込まれる Cloud Storage のディレクトリ。
excludePathsいいえレギュラーエクスプレッションのリスト; これらの表現に一致する名前のファイルはエクスポートされません。
uploadConfirmationいいえ値が exportedFiles の場合、出力データセットにはエクスポートされたファイルのリストが含まれます。
retriesPerFileいいえネットワークの障害が発生している場合、この数値を増やしてエクスポートジョブが Cloud Storage へのアップロードを再試行するようにし、ジョブ全体が失敗する前に再試行します。
createTransactionFoldersいいえ有効にすると、データは指定した directoryPath 内のサブフォルダに書き込まれます。すべてのサブフォルダは Foundry でトランザクションがコミットされた時間に基づいており、エクスポートされたすべてのトランザクションについてユニークな名前があります。
threadsいいえファイルを並行してアップロードするために使用されるスレッドの数を設定します。数値を増やすとより多くのリソースが使用されます。エージェント上で実行中のエクスポートが、増加した並列化を処理するためにエージェント上に十分なリソースがあることを確認します。
incrementalTypeいいえデータセットがインクリメンタルに構築されている場合、前回のエクスポート以降に発生したトランザクションのみをエクスポートするように incremental を設定します。

タスク設定の例:

Copied!
1 2 3 4 5 6 7 8 9 10 type: export-google-cloud-storage # タイプ: Googleクラウドストレージへのエクスポート directoryPath: directory/to/export/to # ディレクトリパス: エクスポート先のディレクトリ excludePaths: # 除外パス: - ^_.* # 「_」で始まる全てのファイルを除外 - ^spark/_.* # 「spark/」ディレクトリ内で「_」で始まる全てのファイルを除外 uploadConfirmation: exportedFiles # アップロード確認: エクスポートされたファイル incrementalType: incremental # 増分タイプ: 増分 retriesPerFile: 0 # ファイルごとの再試行回数: 0 createTransactionFolders: true # トランザクションフォルダの作成: 真 threads: 0 # スレッド: 0

エクスポートタスクを設定した後、右上の保存を選択してください。