【Digdag Embulk】Digdag+Embulkを使用した処理方法【基礎】
お疲れ様です。コーヒーです。
今回はDigdag+Embulkを使用した、処理を行う具体例について解説していきます!
DigdagとEmbulkそれぞれについて、解説している記事もあるので合わせて読んでいただけると理解が深まると思います。
Digdag+Embulkを使用した処理の具体的な流れ
今回は以下の流れで処理を行っていきます。
- BigQueryからcsvファイルを出力(Embulk使用)
- 出力したファイルをS3に転送(s3コマンド)
上記のようにシンプルな流れで処理をおこないます。
全体的なプログラムを先に見せると以下のような感じになります。
BigQueryからcsvファイルを出力(Embulk使用)
下記の部分にてEmbulkでexample.yml.liquidを実行してcsvファイルを出力しています。
ここで、example.yml.liquidの中身を見ていきます。
inではBigQueryの設定をおこなっています。
プラグインは[embulk-input-bigquery]を使用しています。
こちらのインストール方法は簡単で以下のコマンドを打ち込むだけです!
各種設定はそれぞれの環境に合わせて書き直してください。
ただ、locationはデフォルトでは[US or EU]になっているので注意してください。
今回はsqlはxxxテーブルから全件抜き出すものになっていますが、こちらもsqlを張り付ければどんなものにも対応しています。
outでは自身のローカル環境への出力設定を行っています。
path_prefixに保存したい場所のURLを指定できます。
その他細かい設定等はそれぞれの状況に合わせてください。
出力したファイルをS3に転送(s3コマンド)
以下の部分でローカル環境からs3にファイルコピーしています。
「sh>」オペレーターを使用して、S3コマンドを呼び出していました。
「sh>」オペレーターは、シェルスクリプトを実行してくれます。
S3コマンドについては以下を参照してください。
以上で今回の解説は終了です!
実はembulkから直接s3に送ることもできたりと、プラグインをいろいろと調べると便利なものがいっぱいあります。
それでは!