DP-203 Microsoft Certified: Azure Data EngineerAssociateの試験対策と勉強方法!2024年1月時点

先日、「DP-203 Microsoft Certified: Azure Data EngineerAssociate(DP-203)」に合格しました。

実は一週間前にDP-100 Azure Data Scientist Associateに合格しているのですが、同じデータエンジニア分野でも試験内容は全くもって異なります

DP-100は機械学習に関する試験ですが、DP-203はETLや分散処理、データウェアハウスやストリーミング処理に関する問題がメインとなっています。

DP-203では一般的なデータエンジニアリングの知識についてAzureのPaaSサービスを利用した実装や考え方を問われる試験となります。

単純な手順や実現可能な機能もそうですが、PythonやPySparkのコードの問題も問われます。

なのでPythonに関する知識も一定数は必要で、特にデータ分析で利用するライブラリに関しては知っておいた方がよく、ここはDP-100とも共通する部分です。

ただし、基本的にはPaaSを利用した実装が主目的なので他のAzure試験と比較してもコード問題は少ないように感じました。

そこで今回はDP-203 Microsoft Certified: Azure Data Engineer Associateの試験対策と合格方法について紹介していきます。

ポイントの抑え方、事前にやっておいたことがいいことをまとめていきたいと思います。

ちなみに過去に受験したGoogle Professional Data Engineerとは共通する内容もあるのでPDEを持っている方は合格しやすいかもしれません。

スポンサーリンク

DP-203 Microsoft Certified: Azure Data Engineer Associateの試験対策

まずは前提ですが、筆者の方は以下の条件で学習を開始しました。

その状況を踏まえて行った勉強方法について紹介していきます。

  • Azure Databricksは実務経験がそこそこある
  • インフラ全般が得意なためPaaSに関する知識は問題なし(AZ-104、AZ-305取得済み)
  • ETLについては実務経験がある
  • RDBやNoSQLについても業務経験、知識がある

上記の通り、データエンジニアリング領域に関してはそこそこ実務経験も前提知識もあり、受験するにあたっての学習で苦労した点はありませんでした

また元々インフラエンジニアなのでネットワークやストレージの利用は得意分野です。

DatabaseについてもOralceDBやSQL ServerなどRDBメインですが業務経験も長く、最近はCosmos DBを扱うなどNoSQLにも抵抗はありません。

ETL部分もData Spiderという製品の導入と活用経験、あとはPDEとDP-100の受験で知識が深まっていたと思います。

Azure Data Factory

DP-203で問われるメインのサービスの一つがAzure Data Factoryです。

Azure上で日本語表示にしていると英語名ではなく「データファクトリ」というカタカナ表記なので、実際にサービスを触る際はカタカナで検索しましょう。

DP-203は色々なサービスを満遍なく問うタイプなので、Data Factoryだけ集中して覚える必要はないので基本的な機能だけ抑えるようにしましょう。

  • トリガーの種類
  • パイプラインの作り方
  • Azure Synapse Analytics、Azure Databricksとの連携
  • ETLの考え方(入力、変換、出力)
  • IRの種類

IRについては基本的にはオンプレミスとの接続にはセルフホステッドランタイム(SSIR)が必要な点は押さえておきましょう。

SSIRですが実務でもオンプレミスのOracleやSQL ServerをAzure Synapse Analyticsなどに乗せ換える場合に使うことがあります。

Data Factoryを使ったETL処理もそうですが、こういったデータ移行などにも使えるツールというところで実用性も考えてしっかり覚えておくといいと思います。

Azure Synapse Analytics

Azure Synapse Analyticsも試験のメイン分野の一つです。

基本的にはデータウェアハウスとして利用することを想定しておくと良いと思います。

覚えておくこととしては主に以下です。

  • サーバレースSQLプールと専用SQLプール
  • データ(ストレージ)に関する構造
  • Sparkの利用

Synapse Analyticsについては可能であれば実際にサービスをデプロイして動かしてみることをお勧めします。

Synapse Analytics Studio(Synapse AnalyticsのWeb管理ツール)から出来ること、コードを使わないと出来ないことなどが問われる可能性があります。

また、サーバーレスSQLプールと専用SQLプールについては仕様が全くもって異なるので違いを覚えておきましょう。

SparkについてもPySparkを使ったコード問題も出題されるのでMS Learnのサンプルコードも実際に読み込んでおくといいでしょう。

Stream Analytics

筆者も実務経験はないのですが、リアルタイム分析に関する設問もいくつかありました。

Stream Analytics自体にそこまで多くの機能が備わっているわけではないので、ユースケースをしっかり覚えることで試験で対応することが可能と思います。

  • Event Hub、Synapse Analyticsと連携したIoTリアルタイムストリーム処理
  • Stream AnalyticsではPythonとSQLしか利用できない
  • ウィンドウ関数

基本的にStream Analyticsそのものについて問われるよりは前述の通りでユースケースがベースです。

逆にRやPySparkを使う場合はStream Analyticsでは処理出来ないので回答から除外する必要があります。

また、ウィンドウ関数については絶対に覚えておきましょう。

Stream Analytics ウィンドウ関数の概要

タンブリンウィンドウはData Factoryのトリガーとしても設定が可能です。

ストリーミング処理や分析のパターンと、設問の要件をしっかり理解してウィンドウを適切にイメージすることが点数アップのポイントになると思います。

Azure Data Lake Gen2(データレイク)

ストレージの領域の知識ですが、データレイクに関して理解する必要があります。

データレイクやデータウェアハウスそのものの違いが判らない場合はそこから調べましょう。

正直、この点が分かっていないと合格することは難しいと感じます。

データレイクですが以下については押さえておきましょう。

  • Azure Data Lake Gen2から階層名前空間が利用可能になった
  • データレイクの代表的なOSSとしてDelta Lakeがある
  • 利用されるファイル形式としてParquet、Avroがある
  • Delta形式という構造がある

Blob Storageに関する知識も問われるので、Blobやファイル共有、データレイクの違いは押さえておきましょう。

特にDelta LakeはAzure Databricksを利用、学習する上では必須の知識です。

Azure Databricksに関しては出題数は多くないので必須ではありませんがAzure DatabricksにDelta Lakeは必須です。

また、Synapse AnalyticsのSparkでもAzure Data Lake Gen2を利用するユースケースやData FactoryでAzure Data Lake Gen2にデータをロードするケースなど様々なサービスとの組み合わせで利用されるので、絶対に覚えておいた方がいいでしょう。

Spark(分散処理)

今やビッグデータの処理や分析に必要不可欠なのがSparkです。

Hadoopを利用するシーンもあると思いますが、試験や世の中の傾向としては基本的にSparkを用いるケースが多いと思います。

これまで紹介してきた通りですが、Synapse AnalyticsでもSparkプールを使ったデータ処理も行えますしAzure Databricksも分析処理のアーキテクチャはSparkを利用しています。

冒頭でも記載しましたがデータウェアハウスと分散処理は全く志向の異なるサービスで、それぞれについての理解を深めておく必要があります。

データ分析領域の学習においてSparkは必須と言えます。

Sparkでサポートされる言語やドライバーやエグゼキュータなどアーキテクチャを学習しておくことをお勧めします。

DP-203の学習方法

ここまで試験の対策について紹介してきました。

次は具体的な勉強方法について紹介していきたいと思います。

まず、私が試験に合格した時の環境を紹介します。


勉強時間:30H程度(1日1H~1.5H 3週間程度)

データエンジニアリング実務経験:1年以上3年未満


上記の通り、短期間の学習で十分合格が可能です。

合格時のスコアは830点程度でしたので、事前知識があれば合格は比較的容易な試験であると感じました。

データエンジニアリングやデータベースの業務経験、知識のない人は逆に2倍ほど試験合格までに学習時間が必要と想定されます。

Microsoft Learn

まず最初に試験対策で利用するべきはMicrosoft Learnです。

試験の公式ページのコレクションはすべて実施しておくことをお勧めします。

試験 DP-203: Microsoft Azure でのデータ エンジニアリング

DP-203ではおそらくすべてのサービスを網羅的に利用できている人は少ないと思うので、自分が知らない領域を優先的に学習していくと良いと思います。

筆者の場合はデータレイクとDatabricks、ETLに関する知識は事前に備わっていたのでSynapse AnalyticsとStream Analyticsを重点的に学習しました。

また試験範囲にはFabricやPurview、SQL DatabaseやSQL Managed Instanceは含まれておりません。

知っておいても損はないのですが試験で名前は出てくることがあってもそれそのものには問われません。

Cosmos DBに関しては若干、設問があった記憶です。

Udemy

Udemyでは英語教材しかないので基本的には翻訳して利用しました。

ただし、翻訳するとPythonのコードまで翻訳されてしまうのでコードだけは原文に戻して確認することをお勧めします。

DP-203: Microsoft Azure Data Engineering Practice Tests 2023

あまりブレインダンプを好ましく思っていないのですが、こちらの問題から類似問題が1割か2割程度出てきたと思います。

Microsoftは比較的ブレインダンプに厳しいので、AWSのような小岩のようには行かないのできちんと学習する必要があります。

また、上記の講座はそういった意味では問題のレベル感や解説の内容も非常に良いと感じました。

DP-203の学習コンテンツ自体が少ないのでこちらを利用すること自体は非常にお勧めです。

試験の難易度と合格のポイント

試験の難易度としては個人的には「かなり易しい」と感じました。

AZ試験ではAZ-305と同じくらいで、AZ-104やAZ-204の方が遥かに難しいと思います。

私のようにデータベースやデータエンジニアリングの経験があれば比較的合格は容易と思います。

試験そのものも35分か40分程度で完了し1問あたり1分ほどで解けました。

合格のポイントとしては正解がはっきりわかる問題も多く、また答えに迷う問題もデータエンジニアリングの正攻法で考えればほぼ合っているという感じでした。

一部、コードの問題もありますがすべて分からなかったとしても他の文章問題が解ければ合格できるような配分に感じます。

とにかくこちらの記事で書いた「Data Factory」「Synapse Analytics」「Stream Analytics」「Azure Data Lake Gen2」「Spark」について重点的に学習するだけでもかなり点数が取れると思います。

あとはETLやELTの実装方法や考え方、データウェアハウスの利点や分散処理の仕組みを理解しましょう。

難易度的にはこれらのコツを押せれば比較的簡単な試験だと思います。

最後に

DP-203の勉強方法と対策について紹介してきました。

個人的にはかなり易しめで試験中は精神的にも余裕がありました。

データエンジニアリングに関してはこれからも需要がどんどん増えていく領域と思います。

経験がものを言いやすい領域である点はデータベースの仕事と似たような性質がある気がします。

ただ、昔と違いPaaSを使ってGUIベースで自由に利用できる時代になっているので参入ハードルはだいぶ下がっていると思います。

Azureでのデータエンジニアリングをやっている方、興味のある方はぜひDP-203にチャレンジしてみてください。

試験の合格体験記や感想がまだ少ないので皆様の参考になれば幸いです。

スポンサーリンク

フォローする

合わせて読んでみる

良ければ他の記事もどうぞ!



スポンサーリンク