本記事はSnowflake Advent Calendar 2020の23日目の記事となります。
こんにちわ。birdです。
今回は、troccoを使用してSnowflakeにデータを送りLookerで可視化してみようと思います。
使用するデータは、2017年全国学力・学習状況調査から中学生の数学のデータです。
そこからSnowflakeの関数を使用し、県ごとの偏差値を算出していきます。
深堀はせず、大まかな流れを記事にしています。
目次
troccoでローカルファイルをSnowflakeに送る
まずはデータを転送するテーブルを作成します。
テーブル名:DEMO_SHIRATORI
それではtroccoで転送設定の作成をしていきます。
先にSnowflakeへの接続先情報を作成します。
接続先情報作成
完成です。
転送設定の作成に移ります。
転送設定作成
転送設定名はdemoとします。
入力ファイル形式は、CSV・JSONを選択できます。
ローカルのファイルを選択します。
転送先Snowflakeの設定をします。
先程作成した接続先情報を読み込んで使用します。
データプレビュー
生成されるテーブルのプレビューができます。
データ設定のカラム定義で転送先テーブルのカラム名を設定します。
元カラム名とデータ型は自動で入力されます。
出力オプションの設定でもカラム設定をします。
(詳しく調べられていませんが、上記を設定しなくても転送はできます。
しかし、その場合Snowflake側で小数点以下が四捨五入されてしまいました。
上記を設定したところ、小数点以下も問題なく入りました。)
ジョブ実行
ジョブを実行していきます。
成功したようです。
実行ログも表示されます。長いので割愛。
Snowflakeで確認します。
しっかり転送されていますね!
troccoでの転送は以上となります。
特に難しい操作などなく、非常にわかりやすいです!
Snowflakeの関数で偏差値を算出する
転送したデータから偏差値を算出していきたいと思います。
使用する関数はSTDDEV()です。
指定したカラムから標準偏差を返してくれます。
AVG_SCORE:scoreの平均値
STDDEV_SCORE:scoreの標準偏差
DV:上記を利用して算出した偏差値
偏差値を算出することに成功しました!
それではこちらのデータをLookerで可視化したいと思います。
Lookerで可視化
先程算出した偏差値などのデータは新しいテーブルに保存しておきます。
テーブル名:DEMO_SHIRATORI_2
Connection作成
Snowflakeとのコネクションを作成します。
Additional Peramsでロールやウェアハウスの指定ができます。
LookML Project作成
コネクションが作成できたらLookMLプロジェクトを作成します。
Create Profectを押下するとLookMLモデル画面に遷移します。
ここでは、先ほど作成したコネクションを使用すること、
demo_shiratori_2というviewをexploreとして使用することが書いてあります。
viewの中身は下図の通りです。
DEMO_SHIRATORI_2の参照したいカラムを定義していきます。
モデルを作成したら、Gitの設定に移ります。
右上のConfigure Gitボタンを押下します。
Githubのリポジトリ、次ページでユーザ名とパスワードを指定して設定完了です。
Varidate→Commit→Pull/Mergeして完了です。
Exploreから可視化
ようやく可視化まで来ました。
バナーのExploreからdemo_shiratori_2を選択します。
下図のような画面でデータを可視化していくことになります。
最後に
trocco・Snowflake・Lookerの連携をつらつらと書き連ねました。
この記事で少しでも上記サービスに興味を持っていただけると幸いです。