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

ファイルベースの同期

exploration を使用してファイルベースの同期を作成した後、同期ページの Configurations タブで構成を更新できます。

ファイルベースの同期を構成する

ファイルベースの同期の構成オプションには、以下が含まれます。

パラメーター必須?デフォルト説明
SubfolderはいFoundry に同期されるファイルの場所をコネクタ内で指定します。
FiltersいいえFoundry に同期されるファイルを制限するためにフィルター処理するを適用します。
Transformersいいえデータが Foundry に同期される前にトランスフォーマーを適用するを適用します。
Completion strategiesいいえ成功した同期後にファイルおよび/または空の親ディレクトリを削除することを有効にするために使用されます。ソースファイルシステムに書き込み権限が必要です。

同期は指定されたサブフォルダーからすべてのネストされたファイルとフォルダーを含みます。

フィルター

フィルターを使用して、Foundry にインポートする前にソースファイルをフィルター処理することができます。サポートされているフィルタータイプは次のとおりです。

  • 既に同期されたファイルを除外する: 前回の同期以降に追加またはサイズや日付が変更されたファイルのみを同期します。
  • パスが一致する: 正規表現と一致するパス(コネクタのルート相対)を持つファイルのみを同期します。
  • パスが一致しない: 正規表現と一致しないパス(コネクタのルート相対)を持つファイルのみを同期します。
  • 指定した日時以降に変更された: 指定した日時以降に変更されたファイルのみを同期します。
  • ファイルサイズが指定範囲内: 指定した最小および最大バイト値の間のサイズを持つファイルのみを同期します。
  • 任意のファイルがパスに一致する: 任意のファイルが正規表現に一致する相対パスを持つ場合、サブフォルダー内の他のフィルター処理されていないすべてのファイルを同期します。
  • 少なくとも N 個のファイル: フィルター処理されたファイルが少なくとも N 個残っている場合にのみ、すべてのフィルター処理されたファイルを同期します。
  • ファイル数を制限する: 取引ごとに保持するファイルの数を制限します。このオプションは、増分同期の信頼性を高めることができます。

トランスフォーマー

トランスフォーマーを使用して、Foundry にアップロードする前に基本的なファイル変換(たとえば、圧縮や復号化)を実行できます。同期中に取り込むファイルは、選択したトランスフォーマーに従って変更されます。

Data Connection のトランスフォーマーを使用するのではなく、Pipeline BuilderCode Repositories を使用して Foundry 内でデータ変換を行うことをお勧めします。これにより、プロベナンスとブランチングの利点を享受できます。

Data Connection でサポートされているトランスフォーマーは次のとおりです。

  • Gzip で圧縮
  • 複数のファイルを連結
    • 複数のファイルを 1 つのファイルに結合します。
  • ファイルの名前変更
    • 指定したファイル名のサブストリングを新しいサブストリングに置き換えます。
    • ^(.*/)/ に置き換えて、ファイル名からディレクトリパスを削除します。
  • PGP で復号化
    • PGP 暗号化を使用して暗号化されたファイルを復号化します。
    • エージェントシステムに PGP キーが設定されている必要があります。
    • 直接接続で実行される同期には使用できません。
  • タイムスタンプをファイル名に追加
    • カスタム形式のタイムスタンプを取り込んだ各ファイルのファイル名に追加します。

完了戦略

完了戦略を使用すると、Foundry データセットにファイルをバッチ同期した後に、ファイルおよび空の親ディレクトリを削除する方法を提供します。たとえば、中間の S3 バケットや他のファイルストレージシステムに書き込むことでデータを同期し、Foundry から読み取る場合に役立ちます。Foundry が読み取るデータがすでに短命のコピーである場合、データが読み取られて Foundry に正常に書き込まれた後に削除するのは一般的に安全です。

完了戦略の制限と代替案

完了戦略にはいくつかの重要な制限と注意点があります。これらの制限および潜在的な軽減策や代替案については、以下に説明します。

完了戦略のサポート

完了戦略は agent worker runtime を使用する場合にのみサポートされます。direct connectionagent proxy ランタイムを使用する場合、完了戦略が提供する機能を下流の外部トランスフォームとして実装することをお勧めします。

たとえば、ファイル foo.txtbar.txt を含む S3 バケットへの直接接続があると仮定します。これらのファイルをデータセットにコピーし、その後 S3 からファイルを削除するためにファイルバッチ同期を使用したい場合、完了戦略を使用せずに次の手順を実行することをお勧めします。

  • 完了戦略なしでバッチ同期を構成し、スケジュールを設定して実行します。
  • 同期の出力データセットが更新されるときに実行されるようにスケジュールされた下流の外部トランスフォームジョブを作成し、同期されたデータを入力として使用します。
  • その外部トランスフォームで、Python トランスフォームコードを記述して、同期されたデータセットに表示されたファイルを反復処理し、S3 バケットからこれらのファイルを削除する呼び出しを行います。

このアプローチは、削除呼び出しが失敗した場合に再試行可能であり、データが Foundry に正常にコミットされた後に削除を試みることを保証します。このアプローチは増分ファイルバッチ同期にも対応しています。

完了戦略はベストエフォート

完了戦略はベストエフォートであり、データが確実に削除されることを保証しません。以下は、完了戦略が失敗する可能性のあるいくつかの状況です。

  1. エージェントワーカランタイムがクラッシュまたは再起動し、バッチ同期が Foundry にデータをコミットした後、完了戦略が実行される前に、完了戦略は再試行されません。
  2. 接続に使用される資格情報に書き込み権限がない場合、バッチ同期はデータを正常に読み取り、Foundry にコミットできますが、完了戦略で指定された削除を実行できません。

一般的に、可能な限り完了戦略の代替案を使用することをお勧めします。カスタム完了戦略はサポートされなくなりました。

ファイルベースの同期を最適化する

警告

このガイドは、新しい同期を設定するか、遅いまたは信頼性の低い同期をトラブルシューティングするユーザーに推奨されます。同期がすでに信頼性高く動作している場合、特にアクションを取る必要はありません。

多数のファイルを単一のデータセットに同期することは、多くの理由で困難です。

100 万個のファイルをアップロードすることを目的とした同期を考えてみます。ソースシステムをクロールしてほとんどのファイルをアップロードした後、ネットワークの問題により同期全体が失敗します。同期はトランザクションであるため、同期が失敗すると、これまでの作業がすべて失われます。

ネットワークの問題は、同期の失敗の一般的な原因の 1 つであり、何時間もの作業が無駄になり、ソースシステムやエージェントに不要な負荷がかかります。ネットワークの問題やエラーがなくても、多数のファイルを同期するには時間がかかることがあります。

データセットが時間とともに成長すると、SNAPSHOT としてデータを同期する時間が増加します。これは、SNAPSHOT トランザクションがデータセットからのすべてのデータを Foundry に同期するためです。代わりに、トランザクションタイプ APPEND で構成された同期を使用してデータを増分的にインポートします。小さなデータチャンクを同期するため、効果的なチェックポイントを作成できます。同期が失敗しても、重複する作業量が最小限に抑えられ、完全な再実行が不要となります。さらに、すべてのデータを毎回アップロードする必要がなくなるため、データセットの同期が高速化されます。

増分 APPEND 同期の構成

APPEND トランザクションは、成功するために追加の構成が必要です。

デフォルトでは、Foundry に同期されるファイルはフィルター処理されません。ただし、APPEND 同期は同じファイルがインポートされないようにするためにフィルターが必要です。Exclude files already synced フィルターおよび Limit number of files フィルターを使用して、1 回の同期で Foundry にインポートされるファイルの数を制御することをお勧めします。さらに、同期が正常に完了した後にファイルを削除するために完了戦略を追加します。最後に、ソースシステムと最新の状態を保つために同期のスケジュールを設定します。