注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
Foundry を Google Cloud Storage に接続して、Foundry データセットとストレージバケット間でファイルを同期します。
機能 | ステータス |
---|---|
探索 | 🟢 一般的に利用可能 |
バルクインポート | 🟢 一般的に利用可能 |
インクリメンタル | 🟢 一般的に利用可能 |
バーチャルテーブル | 🟢 一般的に利用可能 |
エクスポートタスク | 🟡 サンセット |
ファイルエクスポート | 🟢 一般的に利用可能 |
コネクターは、任意のタイプのファイルを Foundry データセットに転送できます。ファイル形式は保持され、転送中または転送後にスキーマは適用されません。必要なスキーマを出力データセットに適用するか、データにアクセスするための下流の変換を書く。
転送可能なファイルのサイズには制限がありません。しかし、ネットワークの問題が大規模な転送の失敗を引き起こすことがあります。特に、2日以上かかる直接のクラウド同期は中断されます。ネットワークの問題を避けるために、小さなファイルサイズを使用し、各同期の実行で取り込むファイルの数を制限することをお勧めします。同期はスケジュールで頻繁に実行することができます。
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 ドキュメンテーション ↗を参照してください。
サービスアカウントキーファイル: サービスアカウントキーファイル認証の設定方法については、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 ソースからバーチャルテーブルを使用する際の詳細を提供します。このセクションは、Foundry データセットに同期する場合は適用されません。
バーチャルテーブル機能 | ステータス |
---|---|
ソース形式 | 🟢 一般的に利用可能: Avro ↗, Delta ↗, Iceberg ↗, Parquet ↗ |
手動登録 | 🟢 一般的に利用可能 |
自動登録 | 🔴 利用不可 |
プッシュダウンコンピューティング | 🔴 利用不可 |
インクリメンタルパイプラインサポート | 🟢 Delta テーブルについて一般的に利用可能: APPEND のみ (詳細)🟢 Iceberg テーブルについて一般的に利用可能: APPEND のみ (詳細)🔴 Parquet テーブルについては利用不可 |
バーチャルテーブルを使用する場合、以下のソース設定要件を覚えておいてください。
JSON資格情報
、PKC8認証
、または ワークロードアイデンティティ連携(OIDC)
のいずれかを使用する必要があります。バーチャルテーブルを使用する際には、他の資格情報オプションはサポートされていません。バーチャルテーブルを利用したパイプラインでインクリメンタルサポートを有効にするには、ソースの Delta テーブルで Change Data Feed ↗ が有効になっていることを確認します。Pythonトランスフォームの current
と added
読み取りモードがサポートされています。_change_type
、_commit_version
、_commit_timestamp
列は Pythonトランスフォームで利用可能となります。
Apache Iceberg テーブルを利用したバーチャルテーブルをロードするには、Iceberg カタログが必要です。Iceberg カタログについて詳しくは、Apache Iceberg ドキュメンテーション ↗をご覧ください。ソースに登録されているすべての Iceberg テーブルは、同じ Iceberg カタログを使用する必要があります。
テーブルは GCS の Iceberg メタデータファイルを使用して作成されます。テーブルを登録する際に、これらのメタデータファイルの場所を示す warehousePath
を提供する必要があります。
インクリメンタルサポートは Iceberg インクリメンタル読み取り ↗に依存しており、現在は追加のみです。Pythonトランスフォームの current
と added
読み取りモードがサポートされています。
Parquet を使用するバーチャルテーブルは、スキーマ推測に依存します。最大100のファイルがスキーマを決定するために使用されます。
コネクターは、Foundry データセットのファイルを Google Cloud Storage バケットの任意の場所にコピーできます。
データのエクスポートを開始するには、エクスポートタスクを設定する必要があります。エクスポートしたい Google Cloud Storage コネクターを含むプロジェクトフォルダーに移動します。コネクター名を右クリックし、Create Data Connection Task
を選択します。
Data Connection ビューの左パネルで:
Source
名が使用したいコネクターと一致していることを確認します。Input
という名前の inputDataset
を追加します。入力データセットはエクスポートされる Foundry データセットです。Output
という名前の outputDataset
を追加します。出力データセットはタスクの実行、スケジュール、監視に使用されます。左側のパネルに表示されるコネクターと入力データセットのラベルは、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
エクスポートタスクを設定した後、右上の保存を選択してください。