# TD Toolbeltを使用したTreasure ワークフロークイックスタート

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

## TD Toolbeltの更新とTreasure ワークフローのインストール

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 アカウントに以下のデータベースを作成します。

1. TD Toolbeltを使用してこのコマンドを実行します。



```bash
$ td db:create workflow_temp
```

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

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

最初のワークフロープロジェクトディレクトリをダウンロードします。ダウンロードには、サンプルワークフローとTrino 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に対して実行されることを示します。これはTrinoクエリを実行するように自動的に設定されます。`>`は、タスクの「アクション」部分（実行する特定の処理）が定義される場所であることを示します。

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

## ワークフローの実行

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

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

* daily_open
* monthly_open


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



```bash
td wf run nasdaq_analysis
```

1. Treasure コンソールの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 <project-name> <name>
```

例：


```bash
td wf workflows nasdaq_analysis nasdaq_analysis
```