TreasureDataのWorkFlowを利用して、テーブル名に日にち(YYYYMMDD)を入れる方法!


記事内容のユースケース

TreasureDataのWorkFlowを利用して、新規でテーブルを作成し、
そのテーブル名の末尾に作成した日にち(YYYYMMDD)を入れたい。

この記事では上記ケースで利用できる、WorkFlowの記述方法をご紹介したいと思います。

WorkFlow記載例

以下のように記載することで、日本時間の深夜1:30に実行して、
「sample_YYYYMMDD」のようなテーブルを作成することができます。

timezone: Asia/Tokyo

schedule:
   daily>: 01:30:00 --日本時間の深夜1:30に実行

_export:
  td:
    database: sample_db --対象のデータベース
    date: ${moment(session_time).format("YYYYMMDD")} --集計実施日
    date_1: ${moment(session_time).add(-1, 'days').format("YYYYMMDD")} --集計実施日-1日

+sample_date:
  td>: sample_date.sql
  create_table: sample_${td.date} --集計実施日のYYYYMMDD

+sample_date_1:
  td>: sample_date_1.sql
  create_table: sample_${td.date_1} --集計実施日-1日のYYYYMMDD

少し解説すると、変数td内の「date」が、集計実施日を宣言しています。

${moment(session_time).format("YYYYMMDD")}

一言感想

簡単にテーブル名に日にちを入れることができ、非常に便利ですね!
過去データを、スナップショットで保存しておきたい場合に役立ちそうです!

参考文献

digdagドキュメント