Skip to content
Last updated

TD Toolbeltを使用したTreasure Workflowクイックスタート

このチュートリアルでは、コマンドラインインターフェースを使用して、2つのTreasure Data Prestoジョブを順番に実行する最初のワークフローを実行します。

TD Toolbeltの更新とTD Workflowのインストール

TD Toolbeltを使用して、Treasure Dataの多くのサービスと対話できます。まだインストールおよび設定されていない場合は、ターミナルから以下のコマンドを完了してください。

  1. TD ToolbeltとTreasure Agentのインストールと更新の手順を確認して完了します。

workflow_tempデータベースの作成

Treasure Dataアカウントに以下のデータベースを作成します。

  1. TD Toolbeltを使用してこのコマンドを実行します。
$ td db:create workflow_temp

workflow_tempデータベースが作成されます。

サンプルワークフロープロジェクトのダウンロード

最初のワークフロープロジェクトディレクトリをダウンロードします。ダウンロードには、サンプルワークフローとPresto SQLコマンドが含まれています。

  1. ダウンロードディレクトリに移動します。
cd /Downloads
  1. 以下のコードをコピーして貼り付け、サンプルワークフロープロジェクトをダウンロードします。
curl -o nasdaq_analysis.zip -L \
https://gist.github.com/danielnorberg/f839e5f2fd0d1a27d63001f4fd19b947/raw/d2d6dd0e3d419ea5d18b1c1e7ded9ec106c775d4/nasdaq_analysis.zip
  1. サンプルワークフロープロジェクトはzipファイルに圧縮されています。以下のコードを使用してプロジェクトを展開します。
unzip nasdaq_analysis.zip
  1. ワークフロープロジェクトディレクトリに移動します。
cd nasdaq_analysis

ワークフローファイルの内容を確認する

  1. ワークフローファイルの内容を確認します。
cat nasdaq_analysis.dig
  1. ワークフローにtimezone、export、およびtasksの3つのセクションが含まれていることを確認します。

セクション1:Timezone

  1. ワークフローが実行されるタイムゾーンとスケジュールを確認します。
timezone: UTC

schedule:
  daily>: 07:00:00

セクション2:Export

ワークフローデータがエクスポートされる場所を定義するコードを確認します。

_export:
  td:
    database: workflow_temp

セクション3:Tasks

ワークフローには2つのタスクがあります:

  • daily_openという名前のテーブルを作成する日次クエリを実行します。
  • monthly_openという名前のテーブルを作成する月次クエリを実行します。
+task1:
  td>: queries/daily_open.sql
  create_table: daily_open

+task2:
  td>: queries/monthly_open.sql
  create_table: monthly_open

+は新しいタスクを示します。:の前に続くテキストは、タスクに付ける名前です。

td>は、続くクエリがTreasure Dataに対して実行されることを示します。これはPrestoクエリを実行するように自動的に設定されます。>は、タスクの「アクション」部分(実行する特定の処理)が定義される場所であることを示します。

create_table:パラメータは、テーブルが存在する場合は削除し、タスクのクエリの出力に基づいて新しいテーブルを作成します。

ワークフローの実行

通常、ワークフローを開発する際は、ローカルマシンからワークフローを編集することから始めます。ワークフロー定義と実行パターンをローカルで作成しながら、TD環境内で発生するワークフローステップを実行して反復できます。

このワークフローは、workflow_tempデータベースに2つのテーブルを作成します:

  • daily_open

  • monthly_open

  1. オプションで、最初のワークフローを実行する前に、TDコンソールのJob Activitiesページを開いて、実行時に確認できるようにします。

  2. ローカルマシンからサンプルワークフローを1回実行します。

td wf run nasdaq_analysis
  1. TDコンソールのJob Activitiesページでnasdaq_analysisを確認します。

  2. コマンドラインを使用して、daily_openテーブルが期待どおりに作成されたことを確認します:

td table:show workflow_temp daily_open
  1. コマンドラインを使用して、monthly_openテーブルが期待どおりに作成されたことを確認します:
td table:show workflow_temp monthly_open

ワークフローの登録とスケジュール

ワークフローを定期的に実行するようにスケジュールすることは一般的なタスクです。ワークフローにはすでにスケジュール定義が含まれています。

  1. ワークフロー内のスケジュール構文を確認します:
timezone: UTC

schedule:
  daily>: 07:00:00
  1. Treasure Dataにワークフローを登録します。
td wf push nasdaq_analysis

ワークフローは毎日UTC午前7時に実行されます。

Treasure Dataに登録されているワークフローのリスト

コマンドラインから、Treasure Data環境で定義されているすべてのワークフローをリストできます。workflowまたはwdを同じ意味で使用できます。

  1. プロジェクトとワークフローのリストを取得するには、以下を入力します:
td wf push nasdaq_analysis
  1. 以下の構文を使用して、送信したワークフローの定義を確認します:
td workflow workflows <project-name> <name>

例:

td wf workflows nasdaq_analysis nasdaq_analysis