---
title: Digdagを使ってSnowflakeでクエリを実行してみた
description: Digdagのプラグインを使ってSnowflakeを触ってみます！
image: https://knowledge.insight-lab.co.jp/hubfs/Snowflake-Logo-1.png
---

![INSIGHT LAB](https://knowledge.insight-lab.co.jp/hs-fs/hubfs/INSIGHT%20LAB_%E6%96%87%E5%AD%97%E3%81%AE%E3%81%BF_WHT-1.png?width=400&height=110&name=INSIGHT%20LAB_%E6%96%87%E5%AD%97%E3%81%AE%E3%81%BF_WHT-1.png)

![INSIGHT LAB](https://knowledge.insight-lab.co.jp/hs-fs/hubfs/INSIGHT%20LAB_%E6%96%87%E5%AD%97%E3%81%AE%E3%81%BF.png?width=400&height=110&name=INSIGHT%20LAB_%E6%96%87%E5%AD%97%E3%81%AE%E3%81%BF.png)

[![お問い合わせ](https://hubspot-no-cache-na2-prod.s3.amazonaws.com/cta/default/5935783/c64a7bb0-e32a-499b-851b-b4e7a66da275.png)](https://hubspot-cta-redirect-na2-prod.s3.amazonaws.com/cta/redirect/5935783/c64a7bb0-e32a-499b-851b-b4e7a66da275)

<https://knowledge.insight-lab.co.jp/snowflake/digdag-snowflake#tmpmodule_159357067471898>

- [Snowflakeとは](https://service.insight-lab.co.jp/snowflake)
- [SNOWFLAKEナレッジ](https://knowledge.insight-lab.co.jp/snowflake)
- [お役立ち資料](https://download.insight-lab.co.jp/snowflake/download)

###### 4 分で読むことができます

# [Digdagを使ってSnowflakeでクエリを実行してみた](https://knowledge.insight-lab.co.jp/snowflake/digdag-snowflake)

 執筆者 [BI LAB編集室](https://knowledge.insight-lab.co.jp/snowflake/author/bi-lab) 更新日時 2021年12月16日

###### Topics: [snowflake](https://knowledge.insight-lab.co.jp/snowflake/tag/snowflake) [Digdag](https://knowledge.insight-lab.co.jp/snowflake/tag/digdag) [ワークフロー](https://knowledge.insight-lab.co.jp/snowflake/tag/ワークフロー)

![Digdagを使ってSnowflakeでクエリを実行してみた](https://knowledge.insight-lab.co.jp/hubfs/Snowflake-Logo-1.png)

 目次

この記事は[Snowflake Advent Calendar 2021](https://adventar.org/calendars/6220)の16日目の記事になります！

こんにちは！最近親知らずを抜いたLeonです！

![真っ直ぐ生えた親知らずのキャラクター](https://3.bp.blogspot.com/-c_EH8uMxXXQ/WR_Kt5qb09I/AAAAAAABEZI/FRraMp_dLUIF_ZRxDAZY0jhCXdM1RESeACLcB/s400/ha_oyashirazu_character_good.png)

虫歯治療ってことで歯医者にいったところとりあえず抜いちゃいます？って軽い感じで聞かれそのまま抜いてしまいました。  
抜歯後は多少出血しましたがそれほど痛みもなく腫れも無く治っていってるようで恵まれてるようです。。。よかった。。。

一生モノの歯は大事にしていきたいですね…

ということでタイトルにもある通り、今回は有名なワークフローエンジンDigdagでSnowflakeを扱うサードパーティプラグインがあり気になったので触ってみたいと思います！

## Digdagとは？

![Digdag](https://www.digdag.io/wp-content/uploads/2017/12/cropped-DigDag_horizontal.png)

TreasureData社がオープンソースソフトウェアとして公開しているワークフローエンジンで複雑なデータパイプラインを構築・実行・スケジュール・管理がしやすいツールになっています。

yamlで処理をシンプルに記載できるので慣れていない方も取っつきやすく、  
Python/Rubyも対応しているのでそちらに慣れている方も扱いやすいかと思います。

定番なワークフローエンジンの一つであり具体的な内容については色んな方々が記事にされていると思いますので今回は省きます。  
是非気になる方はググってみてください！  
[公式サイトはこちら！](https://www.digdag.io/)

## プラグインを触る

それではDigdagを使ってSnowflakeに繋いでみます！  
Digdagを試してみたい方は[Getting started](http://docs.digdag.io/getting_started.html)を参考にインストールしてお試しください。

早速設定を作成していくのですが  
DigdagでSnowflakeに接続する場合公式のオペレータが存在しておりません。。。

ですがサードパーティプラグインとして有志の方々が開発されております！  
[digdag\_operator\_snowflake](https://github.com/flinters/digdag_operator_snowflake)  
作成された皆様、素晴らしいプラグインをありがとうございます！

### シークレット設定

まずは接続するためにパスワード情報のsecretsを設定します。  
secretsについては以下を参照してください。  
[https://docs.digdag.io/command\_reference.html#secrets](https://docs.digdag.io/command_reference.html#secrets)  
secretsはコマンドラインから設定します。  
今回はお試しなのでローカルシークレットで試します。

```
digdag secrets --local --set snow.password
```

![](https://knowledge.insight-lab.co.jp/hubfs/image-png-Dec-08-2021-01-20-28-49-PM.png)

こちらにはSnowflakeにログインする際のパスワードを入力しましょう。

入力できたら以下のコマンドでセットされたか確認します。

```
digdag secrets --local
```

![](https://knowledge.insight-lab.co.jp/hubfs/image-png-Dec-08-2021-01-22-07-22-PM.png)

snow.passwordが表示されていればOKです。

### digファイル作成

続いてdigファイルの中身を作ります。  
サンプルとしてテスト用のSQLファイルを実行させることにします。

```
_export:
  plugin:
    repositories:
      - https://jitpack.io
    dependencies:
      - com.github.flinters:digdag_operator_snowflake:v0.1.3
  snow:
    host: xxxxxxx.ap-northeast-1.aws.snowflakecomputing.com
    user: xxxxx
    warehouse: DEMO_WH

+run_task:
  snow>: test.sql
```

内容を見ていきましょう。

host：  
Snowflakeにアクセスする際のURLを見ていただければ例のような部分があると思います  
詳細→[https://docs.snowflake.com/ja/user-guide/organizations-connect.html](https://docs.snowflake.com/ja/user-guide/organizations-connect.html)

user：  
ログインする際のユーザー名

warehouse：  
クエリを実行する際に利用するウェアハウス

Snowflakeの接続設定はこれでOKです。

### クエリ作成・実行

run\_taskにはtest.sqlを指定し、同じディレクトリにtest.sqlを作成しましょう。  
今回は以下の簡単なクエリを記載します。

```
SELECT
    123234 as test
```

これでOKです！

それではコマンドでdigdag runをしましょう！

```
digdag run -a snowflake.dig
```

![](https://knowledge.insight-lab.co.jp/hubfs/image-png-Dec-09-2021-02-03-25-44-PM.png)

Successになりました！

Snowflake側の履歴を見ると…

![](https://knowledge.insight-lab.co.jp/hubfs/image-png-Dec-09-2021-02-15-17-63-PM.png)

実行できてます！！楽ちんです！！

## パラメーターを確認してみる

簡単にクエリ作って実行してみましたが他にも様々なパラメーターが用意されているので  
実際に触って確認してみます！

### create\_table

![](https://knowledge.insight-lab.co.jp/hubfs/image-png-Dec-13-2021-11-57-09-55-AM.png)

こちらは実行されたクエリの結果でテーブルを作成するパラメーターです。  
実行する際は作成先情報をdatabaseパラメーターとschemaパラメーターに記載し、  
テーブル名をcreate\_tableに記載します。

![](https://knowledge.insight-lab.co.jp/hubfs/image-png-Dec-13-2021-11-59-49-63-AM.png)  
実行したところちゃんとテーブルが作成されていました！

### create\_or\_replace\_table

こちらはその名の通りテーブルがない場合は作成、存在する場合は置き換えをするパラメーターです。  
クエリの内容を変えて実行してみましょう。

![](https://knowledge.insight-lab.co.jp/hubfs/image-png-Dec-13-2021-12-07-58-44-PM.png)  
CREATE OR REPLACE TABLEで実行され…

![](https://knowledge.insight-lab.co.jp/hubfs/image-png-Dec-13-2021-12-06-50-34-PM.png)  
テーブルも想定通りの内容になっていました！

### create\_table\_if\_not\_exists

こちらは存在しない場合にテーブルを作成するパラメーターです。  
まずは上で作成したテーブルと同じテーブル名で実行してみます。  
![](https://knowledge.insight-lab.co.jp/hubfs/image-png-Dec-13-2021-12-12-46-87-PM.png)  
当然ですが存在しているので作成されません。

次にテーブル名を変えて実行してみます。  
![](https://knowledge.insight-lab.co.jp/hubfs/image-png-Dec-13-2021-12-16-04-08-PM.png)  
作成されました！

### insert\_into

こちらはテーブルにクエリ結果を挿入するパラメーターです。早速実行してみます。

![](https://knowledge.insight-lab.co.jp/hubfs/image-png-Dec-13-2021-12-18-34-17-PM.png)  
![](https://knowledge.insight-lab.co.jp/hubfs/image-png-Dec-13-2021-12-19-55-59-PM.png)

対象テーブルにレコードが追加されていました！

### session\_unixtime\_sql\_variable\_name

Digdagのsession\_unixtimeを格納する変数名です。  
こちらのパラメーターはexportのsnow:に設定するパラメーターなので注意が必要です。  
![](https://knowledge.insight-lab.co.jp/hubfs/image-png-Dec-13-2021-12-29-08-55-PM.png)

変数はクエリ側に\[$変数名\]と記載することで利用できます。  
![](https://knowledge.insight-lab.co.jp/hubfs/image-png-Dec-13-2021-12-32-02-89-PM.png)

テーブル作成を実行してみます。  
![](https://knowledge.insight-lab.co.jp/hubfs/image-png-Dec-13-2021-12-33-33-05-PM.png)  
session\_timeが格納されました！

### 変数を使う

パラメーターとは違いますがもちろんDigdagなので変数も使えます。  
試しにクエリに組み込み変数であるsession\_dateを使ってカラムを作ってみます。  
![](https://knowledge.insight-lab.co.jp/hubfs/image-png-Dec-13-2021-12-51-39-85-PM.png)

![](https://knowledge.insight-lab.co.jp/hubfs/image-png-Dec-13-2021-12-53-29-48-PM.png)

無事日付も取れました！

## まとめ

簡単にですがDigdagのSnowflakeプラグインを紹介させていただきました！  
他にも[Snowflake Advent Calendar 2021](https://adventar.org/calendars/6220)ではAirflowなどのワークフローエンジンを使った記事や  
その他Snowflakeのとても参考になる情報がたくさん紹介されています。  
気になる方は是非確認してみてください！

気づけば12月も半ばですね。  
皆様、良いお年を～！

Snowflakeを体験してみませんか？

INSIGHT LABではSnowflake紹介セミナーを定期開催しています。Snowflakeの製品紹介だけでなく、デモンストレーションを通してSnowflakeのシンプルなUI操作や処理パフォーマンスの高さを体感いただけます。

[![詳細はこちら](https://hubspot-no-cache-na2-prod.s3.amazonaws.com/cta/default/5935783/0d0b0d86-fdb7-4351-ab14-d482c854defc.png)](https://hubspot-cta-redirect-na2-prod.s3.amazonaws.com/cta/redirect/5935783/0d0b0d86-fdb7-4351-ab14-d482c854defc)

- [Tweet](https://twitter.com/share)

![BI LAB編集室](https://knowledge.insight-lab.co.jp/hubfs/image%20(3)-3.png)

#### 執筆者 [BI LAB編集室](https://knowledge.insight-lab.co.jp/snowflake/author/bi-lab)

BI LAB（データ活用研究所）編集室です。 BI、AI、DWHなどデータ活用に関するトレンドやニュースやコラムをほぼ毎日配信しています。押さえておきたい基本知識から、最新ニュース、事例インタビューやお役立ち情報・セミナーレポートまで、データ活用の専門家ならではの視点と情報量でお届けします。

###### [前の投稿](https://knowledge.insight-lab.co.jp/snowflake/snowpark-tutorial-machine-learning-prediction)

[![](https://knowledge.insight-lab.co.jp/hubfs/snowpark-accelerated-badge-@2x-1-1.png)](https://knowledge.insight-lab.co.jp/snowflake/snowpark-tutorial-machine-learning-prediction)

###### [Snowpark触ってみた モデル作成-推論実行偏【SnowflakeでPython使って機械学習モデルの推論処理】](https://knowledge.insight-lab.co.jp/snowflake/snowpark-tutorial-machine-learning-prediction)

###### [次の投稿](https://knowledge.insight-lab.co.jp/snowflake/collation-0)

[![](https://knowledge.insight-lab.co.jp/hubfs/%E3%82%AD%E3%83%BC%E3%83%93%E3%82%B8%E3%83%A5%E3%82%A2%E3%83%AB.jpg)](https://knowledge.insight-lab.co.jp/snowflake/collation-0)

###### [【小ネタ】Snowflakeの照合順序をCOLLATE関数を使って検証してみた](https://knowledge.insight-lab.co.jp/snowflake/collation-0)

RECOMMEND こちらの記事も人気です。

<https://knowledge.insight-lab.co.jp/snowflake/pricing>

###### 4 分で読むことができます。

##### [Snowflakeの料金体系｜クレジットと費用最適化のポイントをご紹介](https://knowledge.insight-lab.co.jp/snowflake/pricing)

###### 2021年 6月 28日

<https://knowledge.insight-lab.co.jp/snowflake/dbt-data-pipeline>

###### 12 分で読むことができます。

##### [【Snowflake×dbt】データパイプライン構築](https://knowledge.insight-lab.co.jp/snowflake/dbt-data-pipeline)

###### 2022年 6月 17日

<https://knowledge.insight-lab.co.jp/snowflake/snowflake-vs-treasuredata>

###### 5 分で読むことができます。

##### [【禁断の比較？】SnowflakeとTreasure Dataを比べてみました](https://knowledge.insight-lab.co.jp/snowflake/snowflake-vs-treasuredata)

###### 2021年 5月 24日

<https://knowledge.insight-lab.co.jp/snowflake/snowsight-executive-dashboard>

###### 1 分で読むことができます。

##### [Snowsightでどこまでできるか！？限界に挑戦！](https://knowledge.insight-lab.co.jp/snowflake/snowsight-executive-dashboard)

###### 2023年 12月 14日

<https://knowledge.insight-lab.co.jp/snowflake/-snowflake-streamlit-in-snowflake-introduce>

###### 5 分で読むことができます。

##### [【Snowflake】新機能「Streamlit in Snowflake」とは何者か！？](https://knowledge.insight-lab.co.jp/snowflake/-snowflake-streamlit-in-snowflake-introduce)

###### 2023年 9月 21日

<https://knowledge.insight-lab.co.jp/snowflake/function-get-ddl>

###### 2 分で読むことができます。

##### [【Snowflake】get\_ddl関数でオブジェクトの定義を取得して再利用する](https://knowledge.insight-lab.co.jp/snowflake/function-get-ddl)

###### 2020年 7月 28日

##### 運営会社

運営会社

- [会社概要](https://insight-lab.co.jp/about/)
- [お問い合わせ](https://contact.insight-lab.co.jp/main)

##### メニュー

メニュー

- [Snowflakeとは](https://service.insight-lab.co.jp/snowflake)
- [Snowflakeナレッジ](https://knowledge.insight-lab.co.jp/snowflake)
- [お役立ち資料](https://download.insight-lab.co.jp/snowflake/download)

[![INSIGHT LAB](https://knowledge.insight-lab.co.jp/hs-fs/hubfs/INSIGHT%20LAB_%E6%96%87%E5%AD%97%E3%81%AE%E3%81%BF_WHT-1.png?width=200&height=55&name=INSIGHT%20LAB_%E6%96%87%E5%AD%97%E3%81%AE%E3%81%BF_WHT-1.png "INSIGHT LAB")](https://www.insight-lab.co.jp/)

- [プライバシーポリシー](https://www.insight-lab.co.jp/privacy.html)

Copyright © 2020 INSIGHT LAB, Inc.

<https://twitter.com/INSIGHTLAB_INC><https://www.youtube.com/channel/UCOKNKiO4uuza4NioSZpBMhg>