わたくし実はITエンジニアでして。

過日作業をしていて、ズバリそのものの処理をネット検索できなかったので、メモしておきます。

digdagは日本語ドキュメントも少なく。

SNSのデータをDBに取り込むには便利なソフトで。

digdagファイルのループ処理も書き方が難しいのですが、日付のインクリメントをしながらのデータ積み上げ作業の書き方が検索できなかったので、それを共有します。

 

こちらを参考にしました。

 

 

timezone: Asia/Tokyo
 
+setup:
  py>: common.setup
+main:
  _export:
    start_date: 2022-07-01
    end_date: 2022-08-31
 
  +cwh:
   # テーブルにマージ
    +upsert_master_table:
      loop>: ${moment(end_date).diff(moment(start_date), 'days') + 1}
      _do: 
        _export:
          target_date: '${moment(start_date).add(i, "days").format("YYYYMMDD")}'
        +info:
          echo>: 'target_date: ${target_date}'
        +loop:
          sh>: envsubst < sql/upsert_master_table.sql |
              bq query --project_id=${PROJECT_ID} -n=0 --headless --nouse_legacy_sql >> ${log}
+teardown:
  py>: common.teardown
 
_error:
  !include : common/notify/init.dig

 

ネットで検索すれば、だいたい答えが見つかる。

エンジニアの世界は、理想的な共有知の世界ができつつありますね!