
ファイルコネクタで使用できる複数の宛先テーブルへのファイル同期オプションを試してみた #Fivetran
はじめに
Fivetran のファイルコネクタで使用できるオプションである「複数の宛先テーブルへのファイル同期とファイルパターンの処理」を試してみました内容を本記事でまとめてみます。
機能概要
これまでファイルコネクタでは、マジックフォルダモードがサポートされていない限り、各コネクションで単一のテーブルを宛先に作成することができました。
そのため、単一の S3 にバケットにパスで異なるファイルをわけて配置している、などストレージ側で、複数の異なる種類のデータファイルがある場合、各データファイルでコネクションの作成が必要でした。
アップデートの時期はコネクタにより異なりますが、例えば以下の S3 コネクタの2025年4月のリリースノートにあるように、一部のファイルコネクタで「複数の宛先テーブルへのファイル同期とファイルパターンの処理」がサポートされました。
これにより、ファイル名の命名規則に応じて単一のコネクションから宛先に複数のテーブルを作成・データを同期できるようになります。
本記事で試す S3 の他、Google Cloud Storage、Azure Blob Storage、Box、Google Drive などのコネクタでも設定できるようです。
コストへの影響として Fivetran の価格体系の変更に伴い、現在はコネクション毎に MAR の閾値が適用され金額が決まります。単一のコネクションに MAR を集約できれば、MAR の単価も低くできます。
試してみる
ここではデータソースとして Amazon S3 でこのオプションを試してみます。S3 に関する設定手順は以下に記載があります。
S3 の構成
前提として、S3 には以下のようにファイルを配置しておきました。
$ aws s3 ls s3://<バケット名>/ --recursive
2025-10-17 09:45:24 0 customers/
2025-10-17 10:03:40 194 customers/customer-data.csv
2025-10-17 09:46:30 0 products/
2025-10-17 10:03:53 202 products/products_master.csv
2025-10-17 09:45:16 0 sales/
2025-10-17 10:04:10 240 sales/sales_transactions.csv
それぞれデータの種類やテーブルスキーマも異なるので、単一のテーブルには同期できません。そこで、ファイルの命名規則に応じて、以下のように異なるテーブルとして宛先に同期したい設定です。
- customers テーブル
- products テーブル
- sales テーブル
files オプションの設定
複数の宛先テーブルへのファイル同期に関する設定は、「Configure files」メニューで行えます。
S3 コネクタの場合、以下に設定手順の記載があります。
オプションの「Base folder path」で Fivetran 側でファイルを探し始める起点となる最上位のフォルダを指定します。パスを指定しない場合、ファイルストレージ全体をスキャン対象とします。
続けて「+ Add files」より、どのファイルをどのテーブルに格納するかを設定できます。具体的には、正規表現を使用し、ファイル名やパスをフィルタリングすることで、宛先テーブルにマッピングできます。
「+ Add files」をクリックすると下図のようなメニューが開きます。ここでは、3つのテーブルに同期したいので、それぞれ下図のように設定しました。
- sales テーブル
- customers テーブル
- products テーブル
設定した正規表現は、「Preview Files」をクリックすることで、意図するファイルが同期対象となっているかをチェックできます。
また、こちらもオプションですが「Archive File Pattern」で圧縮ファイルの中に含まれているファイルをフィルタリングするための正規表現も指定できます。
上記の設定後、下図の表示となります。
同期を行う
その他はデフォルトで接続テストを実施します。
同期開始前には、スキーマ情報が取得され、確認できます。ここではすべてのテーブルが同期対象なので、そのまま進み、同期を開始しました。
同期完了後、DWH(Snowflake)側を確認すると、単一のファイル コネクションから、指定のスキーマにデータファイルの名称に応じて、異なるテーブルとして同期できました。
さいごに
Fivetran のファイルコネクタで使用できるようになった「複数の宛先テーブルへのファイル同期とファイルパターンの処理」を試してみました。コネクションを集約できるのが利点と思います。
こちらの内容が何かの参考になれば幸いです。