# TD Toolbeltを使用したTreasure Workflowクイックスタート このチュートリアルでは、コマンドラインインターフェースを使用して、2つのTreasure Data Prestoジョブを順番に実行する最初のワークフローを実行します。 ## TD Toolbeltの更新とTD Workflowのインストール TD Toolbeltを使用して、Treasure Dataの多くのサービスと対話できます。まだインストールおよび設定されていない場合は、ターミナルから以下のコマンドを完了してください。 1. [TD ToolbeltとTreasure Agentのインストールと更新](https://docs.treasuredata.com/smart/project-product-documentation/installing-and-updating-td-toolbelt-and-treasure-agent)の手順を確認して完了します。 ## workflow_tempデータベースの作成 Treasure Dataアカウントに以下のデータベースを作成します。 1. TD Toolbeltを使用してこのコマンドを実行します。 ```bash $ td db:create workflow_temp ``` workflow_tempデータベースが作成されます。 ## サンプルワークフロープロジェクトのダウンロード 最初のワークフロープロジェクトディレクトリをダウンロードします。ダウンロードには、サンプルワークフローとPresto SQLコマンドが含まれています。 1. ダウンロードディレクトリに移動します。 ```bash cd /Downloads ``` 1. 以下のコードをコピーして貼り付け、サンプルワークフロープロジェクトをダウンロードします。 ```bash curl -o nasdaq_analysis.zip -L \ https://gist.github.com/danielnorberg/f839e5f2fd0d1a27d63001f4fd19b947/raw/d2d6dd0e3d419ea5d18b1c1e7ded9ec106c775d4/nasdaq_analysis.zip ``` 1. サンプルワークフロープロジェクトはzipファイルに圧縮されています。以下のコードを使用してプロジェクトを展開します。 ```bash unzip nasdaq_analysis.zip ``` 1. ワークフロープロジェクトディレクトリに移動します。 ```bash cd nasdaq_analysis ``` ## ワークフローファイルの内容を確認する 1. ワークフローファイルの内容を確認します。 ```bash cat nasdaq_analysis.dig ``` 1. ワークフローにtimezone、export、およびtasksの3つのセクションが含まれていることを確認します。 ## セクション1:Timezone 1. ワークフローが実行されるタイムゾーンとスケジュールを確認します。 ```yaml timezone: UTC schedule: daily>: 07:00:00 ``` ## セクション2:Export ワークフローデータがエクスポートされる場所を定義するコードを確認します。 ```yaml _export: td: database: workflow_temp ``` ## セクション3:Tasks ワークフローには2つのタスクがあります: - daily_openという名前のテーブルを作成する日次クエリを実行します。 - monthly_openという名前のテーブルを作成する月次クエリを実行します。 ```yaml +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回実行します。 ```bash td wf run nasdaq_analysis ``` 1. TDコンソールのJob Activitiesページでnasdaq_analysisを確認します。 2. コマンドラインを使用して、daily_openテーブルが期待どおりに作成されたことを確認します: ```bash td table:show workflow_temp daily_open ``` 1. コマンドラインを使用して、monthly_openテーブルが期待どおりに作成されたことを確認します: ```bash td table:show workflow_temp monthly_open ``` ## ワークフローの登録とスケジュール ワークフローを定期的に実行するようにスケジュールすることは一般的なタスクです。ワークフローにはすでにスケジュール定義が含まれています。 1. ワークフロー内のスケジュール構文を確認します: ```yaml timezone: UTC schedule: daily>: 07:00:00 ``` 1. Treasure Dataにワークフローを登録します。 ```bash td wf push nasdaq_analysis ``` ワークフローは毎日UTC午前7時に実行されます。 ## Treasure Dataに登録されているワークフローのリスト コマンドラインから、Treasure Data環境で定義されているすべてのワークフローをリストできます。workflowまたはwdを同じ意味で使用できます。 1. プロジェクトとワークフローのリストを取得するには、以下を入力します: ```bash td wf push nasdaq_analysis ``` 1. 以下の構文を使用して、送信したワークフローの定義を確認します: ```bash td workflow workflows ``` 例: ```bash td wf workflows nasdaq_analysis nasdaq_analysis ```