はじめに
CData SyncではAmazon S3(以下、S3)内のファイル取り込みをサポートしてきました。しかし、従来の方式では、S3内の個別ファイルを指定する必要があり、複数ファイルを取り込む際の設定に追加の設定が必要でした。CData Sync v23ではファイルが格納されているS3内のディレクトリを指定するだけで、ディレクトリ内の同じフォーマットのファイルを全て取得して、単一のテーブルにレプリケーションすることができるようになりました。また、CData Syncはディレクトリ内の各ファイルの最終更新日時をチェックし、新しいファイルのみを取り込むことが可能ですので、重複データの取り込みを防ぎ、ロード時間を大幅に短縮することが可能です。
設定方法
接続(データソース:S3)の作成
「接続 > コネクタを選択」内の「データソース」タブを開きます。検索ボックスより「S3」と入力して「Amazon S3」を選択、「コネクタをアップデート > ダウンロード」します。ダウンロードが完了したら「接続を設定」を開きます。
「新しい接続 > 設定」にてS3への接続情報を設定してください。S3への接続方式は、AWS IAMロールやルートクレデンシャルをはじめ、ADFSやOktaといった複数の方式をサポートしています。設定項目については「?」ボタンから製品ヘルプをご覧いただけます。
上記設定だけでは指定したバケット配下のCSVファイルを取り込みますが、あるディレクトリ配下の場合は、高度な設定タブ内のPathを指定してください。
設定情報をセットしたら「保存およびテスト」ボタンをクリックします。接続一覧(Connections)にS3への接続が追加されたことを確認します。
接続(同期先:SQL Server)の作成
本手順では、SQL Serverにレプリケーションしてみます。「接続 > コネクタを選択」内の「同期先」タブを開きます。検索ボックスより「SQL」と入力して「SQL Server」を選択し「接続を設定」を開きます。
「新しい接続 > 設定」にてSQL Serverへの接続情報を設定してください。設定項目については「?」ボタンから製品ヘルプをご覧いただけます。
設定情報をセットしたら「保存およびテスト」ボタンをクリックします。接続一覧(Connections)にSQL Serverへの接続が追加されたことを確認します。
ジョブの作成
「ジョブ > +ジョブを追加」をクリックします。ジョブの名前をセットし、データソースに上記接続で作成したS3、同期先にSQL Serverを選択します。種類の「標準(個別設定)」は従来からのS3からの取り込みで今回、「フォルダをロード」が新たに追加されていますので「フォルダをロード」を選択します。これによりS3のディレクトリ内の全てのファイルは単一の同期先テーブルに読み込まれます。
「ジョブを追加」ボタンをクリックするとジョブ設定画面の「ファイル」タブが開きます。「タスク設定」ボタンをクリックします。
「タスク設定」画面が開くので、「カラム」タブを開き、「サンプルファイルを選択」をクリックします。
ディレクトリ配下のファイルがリストで表示されるので、1つ選択します。
カラムマッピングが追加されるので「マッピングを編集」ボタンをクリックします。
続けて「マッピングを保存」ボタンをクリックします。
※「マッピングを保存」をクリックせずに別な画面に遷移すると本タスク設定が保存されませんのでご注意ください。
ジョブの設定画面に戻り、ファイルタブを開くとS3のディレクトリ内のCSVファイルが自動で検知されて一覧に表示されていることを確認します。
ジョブの実行
ジョブの一覧画面に戻ります。上記手順で作成したジョブを選択し「▷実行」ボタンをクリックします。
同期ジョブが実行されます。ジョブが成功すると「最後の実行」列に「Successful」が表示され、同期されたレコード件数が表示されます。
SQL Server Management Studioなどで同期されたテーブルを参照してみます。ファイルのデータに加えて_filename, _line, _lastModifiedといった項目が追加されているテーブルが作成されてデータが取り込まれていることを確認できます。
差分抽出の確認
S3の該当ディレクトリにファイルを追加してみます。
再度ジョブを実行します。ジョブの実行が成功したら、「ジョブの設定 > ファイル」タブを開きます。ファイルのリストを確認するとすでに取り込まれたファイルはスキップされて、追加されたファイルのみ同期処理が実行されていることを確認できます。
まとめ
本手順では、CData Sync v23で追加されたファイルが格納されているS3内のディレクトリを指定するだけで、ディレクトリ内の同じフォーマットのファイルを全て取得して、単一のテーブルにレプリケーションする方法をご紹介しました。S3のファイルを別なデータベースやデータウェアハウスにレプリケーションをご検討されている方は30日間の無償評価版がございますので是非CData Syncをお試しください。
関連コンテンツ