はじめに
初投稿です!先日SnowPro Coreに合格しました😄これまでQiita見る専でしたので、せっかくなら受験の道のりを記録したいと思います。どなたかのお役に立てれば幸いです☺️
この記事のターゲット層
・SnowProCoreの受験を考えている方
・SnowProCoreが気になっている方
・Snowflake使い始めた方、もっと知りたい方...etc
話すこと
・SnowPro Coreとは
・勉強方法
・テスト当日と受験後の感想
SnowPro Coreとは
Snowflake公式の最もベーシックな認定資格です。
Snowflakeにまつわる基礎的な機能やユースケースについて問われます。詳細内容や具体的な受験方法などは、公式サイトや先人の方々がまとめてくださっていますので、ここでは割愛します。
勉強方法
まず勉強前の私のスキルセットは以下の通りです。
・業務でSnowflakeを半年ほど使用
・その際、公式チュートリアル等で一通りの機能をさらった(つもり)
・ただし、1年ほど期間が空いており完全には覚えていない
Snowflakeとは何ぞや?の部分は大丈夫ですが、復習の意味も兼ねてSnowPro Core出題範囲の座学を包括的に学べる以下のUdemyを受講しました。
とても良くまとめられていて、ほぼこれ1つでベースの知識は固められました。視聴しながら、あ〜こんなのもあったなあ〜と懐かしさを感じつつ、知らなかった機能も多くあり学びになりました。以下のように自分なりにメモにまとめます。
私は学生時代から、とにかくメモにまとめる→繰り返し復習して覚える→問題を解く→不明点を調べてメモに書き足す→覚える...といった勉強方法が染み付いているので、今回もこのスタイルで進めました。ただこの講座はとてもボリューミーで、、、空き時間にちょこちょこ進めて約1ヶ月ほどで履修完了しました。(講義の最後に演習問題もありましたが、知識のインプットが目的でしたのでスキップしました)
ある程度知識をつけられたところで、演習問題を解きます。以下のUdemyを利用しました。
全部で6つ演習問題があります。前半3つは初見のもので、後半3つは前半の復習(=前半で出題した問題と同じものがシャッフルで出る)でした。合格点は75%以上です。が、1つ目を解いた結果なんと47%......😭
正直、わからなすぎて焦りました(笑)業務経験がある分、甘くみていました...
メモの復習+不明点のSnowflakeドキュメント確認を本腰を入れて取り組み、2つ目:72%、3つ目:67%と上げていきます。さらに覚え込み、復習問題である後半3つはほぼ100%でした。
まだ初見で合格点に達してないのは不安すぎるので...追加で問題集に取り組みます。
こちらも6つ演習問題があります。どれも初見のものです。ただ本番100問に対し平均120問くらいで、ボリューム満点!私は諸事情で既に試験日を設定して予約していましたので、やれるところまでにしました。結果、
・1つ目:72%
・2つ目:79%
・3つ目:77%
・4つ目:84%
安定して合格点を超えられるようになり、初めて8割を超えたタイミングで打ち切りました。先ほどの問題集にはない尺度の問題もあり、複数のソースで演習しておいて良かったな〜と思います。
終盤は復習の過程で腑に落ちていない事項を改めて整理し直しました。以下のような内容です。
・エディションごとのできることできないこと
・サーバレスサービスに該当するもの
・類似機能のユースケース
特に、パーティションとクラスタリングの違いは深掘りしました。特にパーティションはSnowflakeの設計思想とも言える根幹ですが、問題を解く過程でごっちゃになっていたので整理しておいて良かったです。付随してオートクラスタリングや検索最適化なども理解しやすくなりました。
逆に、具体的な関数の名称(特にACCOUNT_USAGEとINFORMATION_SCHEMA周り)はあまり力を入れませんでした。今後使う時また調べるでしょうし、思い切って捨て問でいきます!(笑)
問題演習+覚え込みを合わせて1ヶ月弱で詰め込み、いざ試験に挑みます!
テスト当日と受験後の感想
受験は専用サイトから予約します。会場では身体検査があり携帯や腕時計など持ち込み不可の厳重体制。身分証が2種類いるという噂を聞いていましたが、私の時は免許証だけで大丈夫でした。手続き等があるので、試験時間15分前には会場に着いていた方がいいと思います。
テストは日本語で受験できます。設問ごとに原文(英語)が閲覧できたので、日本語だと若干意味が不安になる単語(SHAREのことを”共有”等)も安心して解けました。100問あるうち、◎自信あり60 △自信なし24 ×全く分からない16という所感で受かるか微妙なラインでしたが...最後まで選択肢を吟味して合格できました!試験後すぐに以下の紙がもらえます。後日オープンバッチも貰えます。
満点が1000だとすると86%の出来ですね。過去最高点を本番で出せたのは素直に嬉しいです。ただ、試験中不安になる時も多かったので、時間に余裕がある方はより多くの演習問題を解くと安心かもしれません。
受験後の感想ですが、以下が印象に残りました。
◎一度はUI(コンソール画面)に触れた方がいい!
本番ではUIの知識問題がいくつか出てきました。例えば、クエリ実行結果で可視化できるグラフ種類はどれか、など。私は一度業務で触った経験があったので勉強中はUIに触れなかったのですが、そういえばグラフあったな〜と思いました(笑)他にもマーケットプレイスなど、何がどこにあってどういうことができるかは一度肌で感じてみることをおすすめします。
◎Snowflakeの設計思想を感じられる良い試験!
パーティションプルーニングなど、普段使用している分には気にならないSnowflakeの中身の設計ロジックを知れたのが一番の収穫でした。私は今後もデータエンジニアとしてキャリアを伸長したいと思っており、中身の構造を知ることで業務でもユースケースごとにどういう設計をすべきか整理しやすくなると思いました。またSnowflakeに限らず、昨今耳にするオープンテーブルフォーマット(Icebergなど)もSnowflakeの設計に近しいものと感じており(間違っていたらスミマセン)他のデータ基盤系製品を扱ううえでも知って損ない内容だと思います。細かい知識は突き詰めずとも、ストレージ圧縮やクエリ効率化のためのロジックを学べたのは面白かったです!
おまけ
25/9/11,12に開催されたSnowflake World Tourに参加しました。その際、驚いたのがSnowPro認定保有者限定のラウンジがあることです!!ラウンジといっても飲み物飲み放題があるくらいの簡易的なものでしたが、各社セッションの合間など休憩したい時に座れるスペースがあるのは非常に助かりました。また、ノベルティとしてSnowflakeロゴが描かれたTシャツも貰えます。
もちろんSnowPro Coreも対象です。モチベーション維持の参考にしてみてはいかがでしょうか?!