Secret Ninja Blog

Support Engineering Manager してます

Treasure Workflow for ビギナー 環境構築編

Treasure Workflowでなにができるか?

TreasureDataには、Treasure Workflowという機能があります。 これで何が実現できるか、というと

  • データのインポートを実施したあとに、SQL Aを実行させて、その後にSQL Bを実行させる。という一連の流れをスケジュール化させることや、
  • SQL A が完了したら SQL BとSQL Cは並列に実行させて、その後SQL Dを実行し、その結果をAWS S3の実行日の日付をパス名にして出力する

などができます。 つまり従来、TreasureDataではできなかった、処理の一連の依存関係を記述し、なおかつそれをスケジューリングすることができるようになります。 これは便利ですね。

補足: Treasure Workflowはサービス名となっており、内部的に使われているソフトウェアとしてOSSで公開されているdigdagがあります。 Treasure Workflowで検索してヒットしなくても、Digdagと検索して調べたら、だいたい同じ方法で同じことが実現できます。

Treasure Workflowの利用方法は?

さてこの便利なTreasure Workflowはどのように利用できるでしょうか? Treasure Workflowでは、.digという拡張子ファイルを持ったファイルに下記のような設定を書くことで処理の流れを表現することができます。

timezone: Asia/Tokyo
schedule:
  daily>: 02:00:00

_export:
  td:
    database: support

+task1:
  td_run>: query_a

+task2:
  td_run>: query_b

この例では、Treasure Data上に保存したSaved Queryのquery_aを2時AMに実行し、それが完了した時にquery_bを実行するというワークフローになっています。

そしてこのワークフローを設定したファイル(XXX.dig)を実行する方法として二つあります。

1 - 手元にある設定ファイルを自分のパソコン上で実行をさせる。 2 - TreasureData上に設定ファイルをアップロードし、TreasureData上で手動やスケジュール実行をさせる。

これらを行うためには、ToolbeltとWorkflow Consoleを利用する必要があります。 (Workflow Consoleだけでもいずれ完結できるようになるかもしれませんが、現状は併用するのが望ましいです。)

またWindowsデフォルトのテキストエディタの場合には、意図しない文字や文字コードの設定などが適切でない場合があるため別途エディタのインストールもした方が良いでしょう。

ここではそれぞれの設定方法について紹介します。

Toolbeltのインストール

下記よりWindows版のToobeltをダウンロードします。

http://toolbelt.treasuredata.com/

インストール後、 td account -f を入力し、toolbeltにて認証の設定を行います。

td account -f
Enter your Treasure Data credentials. For Google SSO user, please see
<https://docs.treasuredata.com/articles/command-line#google-sso-users>
Email: <TreasureDataのEmailアドレス>
Password (typing will be hidden): <TreasureDataのパスワード>

次に、td wfを入力し、Treasure Workflowのコンポーネントをインストールします。 Treasure Workflowに関わる操作については、td wfコマンドにて実行することができます。

td wf
Workflow module not yet installed, download now? [Y/n]
> yとtypeし、エンターを入力

これでToolbeltでのTreasure Workflowの利用準備ができました。 また、Workflow Consoleを利用する場合には、https://workflows.treasuredata.com/に直接アクセスすることで、ワークフローを作成してアップロードを行うとそのログを確認することができるようになります。

エディタ(Atom)のインストール

良いエディタは数多くありますが、Treasure Workflowの構文を色付けしてくれるアドオン機能があるため、Githubが開発をしているAtomを利用します。 下記からWindows版のインストールを行います。

https://atom.io/

日本語メニューにしたい場合はこちらのブログを参照してみてください。

インストーラをダウンロードし、インストールが完了したら、次はTreasure Workflowのdigファイルをシンタックスハイライトしてくれるアドオンを入れてみましょう。 このアドオンをいれることで、設定ファイルを見やすくすることができます。

Atomが起動したら、File -> Settings -> Install -> digdagで検索をし、language-digdagをInstall

https://treasure-data.gyazo.com/0838ce7cea2e2699d4cc8c1d02bf8694 インストールが完了した後に、新規ファイル作成で、new.digファイルを作ってみると、

td_runやtimezoneといったTreasure Workflowで使われるキーワードが色付けされて見やすくなります。

https://treasure-data.gyazo.com/ab85a5fe88339d475f1cc8e7c75aa17f

さてこれでTreasure Workflowを利用するための準備ができました。 次の記事にてTreasure Workflowの書き方とローカルでの動かし方を紹介します。