はじめに
先日、SnowPro Advanced: Data Engineer(DEA-C02)に合格しました👏
ちょうど1年前にSnowPro Coreに合格し、その際も受験記を投稿しています(↓)。
今回も同様に記録を残したいと思います!どなたかのお役に立てれば幸いです☺️
この記事のターゲット層
・SnowPro Advanced: Data Engineerの受験を考えている方
・SnowPro Advanced: Data EngineerとCoreの違いを知りたい方
・SnowPro Advanced: Data Engineerを受験するメリットを知りたい方...etc
話すこと
・SnowPro Advanced: Data Engineerとは
・勉強方法
・テスト当日と受験後の感想
SnowPro Advanced: Data Engineerとは
Snowflake公式の上位認定資格です。日本語試験に対応しています。
より基礎的なSnowPro Coreは「Snowflake全般の基礎知識を網羅的に問うもの」という印象でした。一方、Advanced: Data Engineerはよりデータエンジニアリング領域に特化しており、詳細な機能や仕様について問われます。単純な知識問題だけでなく、実務に則した実践的な内容(例:〇〇が発生し△△を実施したが◇◇だった。それはなぜ?)も多く含まれています。
詳細な出題範囲や受験方法などは公式サイトや先人の方々がまとめてくださっていますのでここでは割愛しますが、重点的な試験内容は以下の通りです。
| 領域 | 内容 |
|---|---|
| 取込 | ロード/ファイル形式/コネクタ |
| 性能 | クエリ分析/ウェアハウス/キャッシュ/SOS/QAS |
| 復旧 | Time Travel/Fail-Safe/レプリケーション/クローニング |
| 統制 | 監視/品質/行・列レベルセキュリティ/クローズドな共有環境 |
| 変換 | UDF/ストアドプロシージャ/Snowpark/外部関数/半構造化・非構造化 |
勉強方法
①公式ドキュメントを熟読する
正直これに尽きます(笑)。
SnowPro Coreでは試験内容がまとめられた座学用Udemyコースが多数ありましたが、Advanced: Data Engineerはまだ受検者が少ないためか、英語版含め見つけられませんでした。私はSnowflakeを業務で扱うため、合格はもちろんですが「Snowflakeに関する知見を深めること」を第一の目的に置いていました。受験までに猶予があったため、じっくり公式ドキュメントを読み込み、理解することにまず努めました。SnowPro Coreより対象範囲が狭いとはいえ、一通りのドキュメントを読むとかなりの量になります。結局、約3ヶ月かけてドキュメントを読破しました(試験範囲外の気になる最新機能なども調べていたため、純粋な試験範囲内だけで言えば2ヶ月ほどだと思います)。対象ドキュメントは「Advanced: Data Engineer学習ガイド」に記載されているため、迷わず探せると思います。
②とにかく覚える
ここからは試験に特化した勉強方法です。
①の熟読期間中に、知らなかったことや問われそうだと思ったことをノートにメモしていました。そのメモをひたすら暗記していきます。SnowPro Coreの際も同様にメモを取っていましたが、今回は業務での辞書としても活用できるよう細かく記録していたこともあり、メモの量は約3倍になりました(笑)。この暗記作業を約1ヶ月間実施しました。
③演習問題を解く
「試験に受かることだけ」を目的とするなら、まず最初に演習問題を解くのが一番効率的だと思います。問題を通して試験の全体像が見渡せるからです。ただ、今回は知識の獲得を最優先にしていたため、このタイミングで初めて演習問題を解くことにしました。
一方で、Advanced: Data Engineerの演習問題はUdemyでも数が少なく、先人の方々が良問とおっしゃっていたコースも購入しようとした時には販売終了(公開停止)になっていて途方に暮れていました……。そんな中、タイミングよく日本語対応の以下のコースが出現しました。
全6個の演習問題があり、1問ごとに解説と対象公式ドキュメントへのリンクがついている手厚い内容です。問題の難易度は6個とも同等に感じました。セール期間中に1,500円で購入できました。
解説は丁寧で的確なものが多かったですが、一部存在しない機能に対する誤情報もあり、「生成AIで作成したのかな?」と思われる問題も散見されました。しかし、蓄積した知識の定着度を確認するアウトプットの機会としては十分でした(誤情報を見抜く力も鍛えられます笑)。
しっかりインプットに時間をかけていたお陰で、初見から合格ライン(75%)に近いスコアが出せました。不明点は改めてドキュメントを振り返った上でメモに追記して覚える、というサイクルを繰り返しました。約1ヶ月かけて5個目まで解き、合格点に届くかどうかの瀬戸際まで仕上げられたので、思い切って本番に挑むことにしました。
| 問題 | 正答率 |
|---|---|
| 1個目 | 72% |
| 2個目 | 78% |
| 3個目 | 76% |
| 4個目 | 75% |
| 5個目 | 72% |
| 6個目 | (未実施) |
テスト当日と受験後の感想
テストセンターで受験しました。当日の流れはSnowPro Coreの記事で書いた内容と同様です。
全65問中◎自信あり47 △自信なし15 ×全く分からない3という感触で、Udemyの模擬試験よりもやや解きやすい印象を受けました。結果として、模擬試験以上の正答率で合格できました!
去年のSnowPro Core受験時にはなかったのですが、スコアレポートに「今後の試験準備における重点分野」が記載されるようになっていました。
受験後の感想は以下の通りです。
類似問題が多い
受験直後の印象ですが、以下のトピックに関連する問題が複数出題されていたように思います。
・クエリプロファイル
・データ保持期間(Data Retention)
・マスキングポリシー
・Kafkaコネクタ
若干の出題傾向の偏りを感じたため、上記仕様については入念に把握しておくことをおすすめします。また、実務ベースの込み入ったシチュエーション問題もありましたが、シンプルな基礎知識を問う問題も多く見られました。Udemyの模擬試験と全く同じ問題も数問出題されていました。
問題が古い
ここが受験する上での難しいポイントだと思います……。
周知の通り、Snowflakeは機能アップデートのスピードが非常に早いです。試験問題が作成された時点から時間が経過しているため、「現在はアップデートにより改善されているが、試験作成時点では制約があった」というケースがありました。
また、試験作成時点の都合か、SnowPro Coreの範囲外となる新しい機能群の出題は少ない印象を受けました。具体的にはダイナミックテーブル(Dynamic Tables)は出題されましたが、Icebergテーブルは一切出ませんでした。体感ですが、公式ガイドに掲載されている対象ドキュメントの1/3近くは出題されなかった印象です(笑)。
SnowPro Coreが直近でCOF-C03にバージョンアップされたため、DEA-C03もそろそろ登場するのではないかと予想しています。新バージョンになると一気に対象機能が増え、難易度が上がりそうです。
個人的な学び
試験範囲の中で最も勉強になったのはSnowpark周りです。類似機能との使い分けをしっかり整理できたのが大きな収穫でした。最新機能も含めると、特にPython関連は選択肢が多いです。
・Pythonコネクタ
・Snowpark Python DataFrame API
・Snowpark Pandas API
・ベクトル化 UDF / UDTF、UDAF
それぞれの役割や設計思想の違い、そして実務において「どのケースで何を選択すべきか」を体系的に整理できました。また、トライアルアカウントを作成してチュートリアルを実施したことでより理解が深まりました。特にPandasとPySparkにおいて、データ操作やクエリ実行がどのレイヤー(クライアント側かSnowflakeウェアハウス側か)で行われるかを意識すると整理しやすいと感じました。
総じて、実務に直結する非常に濃い知見が得られました。確実に日々の業務を円滑にしてくれる知識です。DEA-C02自体は極端に難易度が高いわけではないため(受験料はそれなりに高額ですが……)、業務の傍らやスキルアップの過程における腕試しとして非常におすすめです!
おまけ
去年も参加しましたが、今年もSnowflake World Tour Tokyoに参加してきました。そして今年もSnowPro認定保有者限定ラウンジにてノベルティをいただけました!SnowPro Core保有時は半袖Tシャツでしたが、Advanced: Data Engineerでは長袖パーカーをいただけました(少し上位資格になった気分?笑)。モチベーション維持の参考にしてみてはいかがでしょうか?!
