
#1 Snowflakeのハンズオントレーニングを受けてみた(Badge1: Data Warehousing Workshop)
Snowflakeが提供している無料のハンズオン、"Data Warehousing Workshop" を受講しました。このnoteでは受講してみた感想・ハマったポイントなどをご紹介しようと思います。

Snowflakeってなに?
Snowflakeというキュートな名前ですが、実はとってもパワフルなクラウド上の次世代データウェアハウスサービスです❄
Snowflakeの長所を挙げだしたらきりがないほど素晴らしいのですが、ストレージレイヤーとコンピュートリソースレイヤーが完全に切り離されているので、同じデータを扱う時に用途に応じてウェアハウスと呼ばれる大小さまざまなコンピュートリソースを割り当てられるというのがアーキテクチャ上の大きな特徴です。
個人的に一番気に入ってるのは、UIがかわいいことです。(笑) 以前はClassicというインターフェースだったのですが、去年末からSnowsightという新インターフェースでの利用に統一されました。
また、Snowflakeは毎週新しいリリースを展開していることで有名で、ユーザーの声を反映した使いやすい機能が高頻度でアップデートされています。UIが可愛いとやる気が出る、私のような単純な生き物にはぴったりのサービスです。

Snowflake Learning Journey とは
Snowflakeは学習者のために Learning Journey と呼ばれるトレーニングを各種用意しています。その中には以下の3つの種類があります。
Hands-on Essentials(無料ハンズオン。修了バッジがもらえる。)
Level Up(座学多め、知識を効率よくインプットしたい方向け)
SnowPro Certification (Snowflakeの認定資格)
Hands-on Essentialsの特徴
今回受けてみたのは、Hands-on Essentials です。Hands-on Essentials はその名の通りハンズオントレーニングで、Snowflakeの無料トライアル枠(30日間)を使って実機で挙動を確認しながら進めていきます。
Hands-on Essentialでは、以下の5つのワークショップを選ぶことができます。学習したいニーズに合わせて幅広いトピックがカバーされていますね!
Data Warehousing Workshop
Data Application Builders Workshop
Sharing, Marketplace, & Exchanges Workshop
Data Lake Workshop
Data Engineering Workshop
Data Warehousing Workshopを受けてみた
受講した目的
私の本業はデータ系製品のセールスエンジニアなので、一応データライフサイクル・SQL・データベース周りの背景知識があります。
そんな中、Snowflakeを使うお客様との商談機会が増えてきたので、周辺製品についてもお客様目線で話ができるように、体系立って学んでみようと思いました。
学習時間の目安
公式サイトには合計8-9時間の学習時間目安と記載されていて、実際ちょうどそれくらいかかった印象です。コースの最後に、どれくらい時間がかかったか投票する場所があり、多くの方が7-10時間かかったと回答していることが分かります。

私はSnowflakeの選考を受けたこともあるので、割と前提知識があったほうかもしれません。全くの初心者の方でしたら、もう少し時間に余裕をもって学習時間を見積もると良いかと思います。
⚠️Snowflakeの無料トライアル期間は30日間です。トライアル環境を使って無料でハンズオンを進めたい場合は期間超過しないようお気を付けください。
受講した感想
大変充実した内容で、めちゃくちゃ良くできてると思いました。今後、いつ有料化されてもおかしくないくらいハイクオリティな内容だと思います。
このハンズオンを終えれば、Snowflakeのアーキテクチャの特徴、簡単なSQL、データのロード、半構造化データの変換方法などが一通り理解できるようになりあます。
DORAが素晴らしいです。
DORAというのは、自動採点機能のプログラムのことで、親しみやすいようにDORAという名前がついています。
ハンズオンなので実機操作が多いのですが、途中で間違ったコードを書いてしまうとそのあとのエクササイズもエラーになってしまいます。要所要所で、DORAを使った自動採点が行われるので、自分がやっている実機操作の有効性を常に確認しながら確実に進めることができます。
DORAの仕組みについてもっと知りたい方はこちらの動画をどうぞ。
Snowflakeが初めての方でも、AWS, GCP, Azureといったクラウドサービスを使っている方ならすぐに理解されるであろう、似通った概念がたくさんあります。
AWSのIAMロールの考え方はSnowflakeのユーザーとロールに近い
Authentication(認証)とAuthorization(認可・承認)の違い
従量制課金モデル etc
良かった点
ページの読み込みが速い!動画の再生速度が変更できる!
コンテンツがページに埋め込みされてないのでGoogle翻訳が使える。
動画は日本語字幕もつけられる。
途中でネットワークが切れたときなど、再読み込みするとそのページで途中まで終わらせてた質問の回答がちゃんと保存されている(神)
ハマった点
クエリ実行のショートカットは Control + Enter または Command + Enter。右上のRUNボタンを毎回押すより、とっても時短になります!
DORA実行時のワークシートコンテキストの設定ミス
上述のDORAは、ACCOUNT ADMINロール、かつDEMO_DBデータベースのPUBLICスキーマで実行しないといけません。
ですが、DORA以外の普通のエクササイズではSYSADMINロールでオブジェクトを作成するケースがほとんどなので、DORAを実行した後は忘れずにロールをSYSADMINに戻しましょう。
誤って、ACCOUNT ADMINロールでテーブルなどのオブジェクトを作ってしまうと、あとでSYSADMINにGRANT ROLEで権限譲渡しないといけなかったので面倒でした。
DORA実行用のワークシートを用意しておくと便利だと思います。
ステージが見つかりませんエラー
AWSのS3を外部ステージとして設定して、S3上のファイルをSnowflake内のテーブルに取り込むエクササイズがたくさんあります。
外部ステージの最初のエクササイズでは、GARDEN_PLANTSデータベースのVEGGIEスキーマに設定するよう指示がありますが、その後に、別のデータベースや別のスキーマを作ることになります。そのような別のデータベースで先ほどのステージを指定しようとすると、外部ステージが見つかりませんというエラーが表示されます。
このエラーを解消するには以下の2つの方法があります。
新しいデータベースとスキーマを作成する度に、外部ステージをそのデータベースとスキーマ内で作成しなおす
ステージ名の表記を @DB名.スキーマ名.ステージ名 のように完全修飾してあげる
学んだこと、まとめ
個人的に特に学びになったのは以下の3点です。
半構造化データを読み込めること、簡単にフラット化(展開)できること
ステージネームは大文字小文字を区別しないけど、ステージネームを超えると(よりそれより細かい階層になると)大文字小文字はsensitiveになること
ヘッダーがあるXMLとヘッダーが無いXMLを読み込んだ時の挙動の違い
SnowflakeのHands-on Essentialsのハンズオンはとてもオススメなので、Snowflakeに興味のある方は是非受講してみてください!
ハンズオン第二弾の体験談👇
ハンズオン第三弾の体験談👇
最後までお読みいただきありがとうございました!
スキ・フォローよろしくお願いします☺