FLINTERS Engineer's Blog

FLINTERSのエンジニアによる技術ブログ

Snowflake『Hands-On Essentials: Data Warehousing Workshop』のススメ

はじめに

この記事はFLINTERS\梅雨にも負けないブログ祭り/企画での執筆であり、テーマは #FLINTERS #Snowflake #DWH #データエンジニアリング です。

私が所属するデータチームではSnowflakeによるデータ基盤構築をしております。
私は最近このチームに配属となったため、Snowflakeをイチから学ぶところから始まりました。
※ Snowflakeとは何か、の説明は本稿の趣旨とは異なるので省略します。

今回はチームオンボーディングとして、Snowflakeが提供しているハンズオンである
Badge 1: Data Warehousing Workshop
を受講しましたので、その振り返りとなります。

注意:本稿の『Badge 1: Data Warehousing Workshop』は2024年6月時点のものとなります。

こんな方におすすめ

  • これからSnowflake(DWH)を学びたい方
  • これからSQLを学びたい方

また本稿については『Badge 1: Data Warehousing Workshop』を受講している、これから受講する方にとっても参考になりそうな情報も記載しています。

形式

この講座はオンライン、かついつでも受講可能な形式で提供されており、受講者の都合に合わせて自由に学習を進めることができます。
学習想定時間は6hとありますが、SQLに親しみのない方であればもう少し時間がかかるかと思います。

またSnowflakeは無料トライアルが提供されているので、このトライアルアカウントから無料で受講可能です!

流れとしては各章毎に以下を行います。

  • 動画視聴
  • 練習(手元の環境で指示通りに操作)
  • 選択式テスト
  • 実習(コード作成)

ドキュメントは英語で書かれておりますが、動画は日本語字幕も設定可能です!
(私のように日本語しか読めない場合、動画上の字幕を翻訳するのは一手間かかるため、とてもありがたいです。)

全ての章の選択式テストと実習で満点をとるとこちらの講座は合格となります。

Hands-On Essentials: Data Warehousing Workshop
受講を終えるとバッジがもらえます

学習内容

  • SQL構文(SELECT、INSERT、CREATEなど)
  • 管理権限(Users、Roles)
  • ストレージ(Warehouse、Database、Schema、Table)
  • データ可視化(WorkSheet、DashBoard)
  • Stage(AWS S3上のtsvやjsonなどのファイルのロード/アンロードを簡単に行うための中間ストレージエリア)
  • sequence(連続した一連の数値を生成するためのオブジェクト)

つまずいたポイント

使用するRole、Database、Schema

練習と実習では使用するRole、Database、Schemaが異なり、受講中にはどうしても転々としてしまう場合があります。
ここを誤るとクエリ実行結果が想定していたものと変わってしまいます。
使用するオブジェクトについては都度指示があるので読み飛ばさないようにしましょう。

WorkSheet上でのクエリ実行方法

WorkSheet上で複数のクエリを続けて実行する場合にRunをそのまま押下してしまうと、最後のクエリのみが実行されてしまう挙動となります。

WorkSheet1
Run

その場合は以下のように実行するクエリを範囲選択してRunを押下するか、

WorkSheet2
範囲選択してRun

以下のようにRun Allを押下することで、全てのクエリが実行されます。

WorkSheet3
Run All

プログラム作成後に自動採点が行われるのですが、意図しない結果となっていた場合に原因として全てのクエリが実行されていなかったことがありました。

短時間でクエリ動かしすぎ注意

クエリを短時間で回し続けるとWarehouseが一時的に使えなくなります。
Snowflakeではコストを管理可能なリソースモニターという機能があり、トライアルアカウントでも利用可能なクレジットが設定されているためです。
少し待てば使えるようになりますので、適宜休憩を入れましょう。

New Snowflake Notification
このようなメールが送られてくる

今後

ハンズオンはBadge 2以降も用意されています。
Badge 2: Collaboration, Marketplace & Cost Estimation Workshop

私自身はオンボーディングとしてBadge 1を受講しましたが、この先も受講します。

最後に

Snowflakeはビッグデータを扱うにあたり評判高いツールのため、データエンジニアとして是非使いこなしていきたいです。
そのためにはSnowflake独自の機能や設計思想(Badge 1ではStageが該当)を理解していくことが前提となります。
ハンズオンやその他リファレンスも充実していることは非常に有益なので積極的に活用していきます。

このほかにも私の所属するデータチームのメンバーを中心にSnowflakeの資格取得についてや実務上での経験談などの記事が執筆されておりますので、是非ご覧ください!

blog.flinters.co.jp

blog.flinters.co.jp

blog.flinters.co.jp

blog.flinters.co.jp