はじめに
Databricks認定データエンジニアリングアソシエイト取得後にデータエンジニアが目指す次のステップはとして、Databricks認定データエンジニアプロフェッショナル試験があります。
アソシエイト資格でレイクハウスの基礎を固めた後、より複雑なビジネス要件に応え、大規模なデータパイプラインを最適化・運用できる能力を証明するのが、「Databricks 認定データエンジニア・プロフェッショナル」試験です。
資格の必要性について
この上位資格を取得することは、単に機能を知っているだけでなく、以下のような「実践的な高度な課題」を解決できるプロフェッショナルであることの証明になります。また、Databricks案件を推進するにあたっても、プロフェッショナル資格の有無が1つの基準になります。
- 高度なデータ処理: 複雑なストリーミング処理や、状態管理(Stateful Processing)の最適化
- パフォーマンス・チューニング: Spark UIを用いたボトルネックの特定と、コンピュートリソースの効率化
- データモデリング: スケーラブルなレイクハウスにおけるデータモデリング手法の選定
- 堅牢な運用(DataOps): CLI/Terraformを用いた環境構築や、テスト・監視を含むCI/CDフローの構築
- 高度なセキュリティ: Unity Catalogを用いた、より詳細なアクセス制御と監査
アソシエイト試験に合格した方でも、プロフェッショナル試験では「実務で直面する複雑なトラブルシューティング」や「アーキテクチャの選定」が問われるため、一筋縄ではいきません。
そこで本記事では、プロフェッショナル試験特有の傾向と対策に加え、難所を突破するためのエッセンスを含めたUdemy問題集についてご紹介します。
Databricks認定データエンジニアプロフェッショナル試験の概要
資格取得を目指す方に向けて、まずは「Databricks認定データエンジニアプロフェッショナル(Databricks Certified Data Engineer Professional)」試験の基本情報を整理します。
試験の基本情報
プロフェッショナル試験のスペックは以下の通りです。
試験時間: 120分
問題数: 59問(すべて多肢選択式)
合格ライン: 70%
(出題内容によりますが基準としては60問中、42問以上の正答が必要)
受験料: 200米ドル(税別)
言語: 日本語、英語などに対応
受験方法: オンライン(遠隔プロクター監視)または テストセンターでの受験
資格の有効期限: 2年間
<合格に向けたポイント>
- 120分で60問を解くため、1問あたり「2分」です。アソシエイトよりも問題文が長く、コードスニペットやアーキテクチャを読み解く問題が増えるため、時間配分の重要性がさらに増します。
- 基礎知識の確認だけでなく、「この状況でパフォーマンスが低下している原因は何か?」「どの設定を変更すべきか?」といった判断力が問われます。
出題範囲と比率
本試験は以下の10つのドメインから構成されており、それぞれ出題のウェイトが異なります。
Developing Code for Data Processing using Python and SQL: 22%
最も比率の高い分野です。PySparkやSpark SQLを用いた高度なデータ処理、複雑なビジネスロジックの実装能力が問われます。
Cost & Performance Optimisation: 13%
プロフェッショナル試験の肝となる分野です。リソースの適切なサイジング、クエリのチューニング、シャッフル処理の最適化などが出題されます。
Data Transformation, Cleansing, and Quality: 10%
ストリーミング処理やDelta Live Tablesを用いた、高度なデータクレンジングと品質保証(Expectationsなど)の仕組みが対象です。
Monitoring and Alerting: 10%
ジョブの監視、カスタムアラートの設定、ログの分析など、パイプラインの健全性を維持するための知識が問われます。
Ensuring Data Security and Compliance: 10%
動的なデータマスキング、行・列レベルのアクセス制御、コンプライアンス要件を満たすセキュリティ設計が問われます。
Data Ingestion & Acquisition: 7%
Auto Loaderや外部ソースからの効率的なデータ取り込み戦略が出題されます。
Debugging and Deploying: 10%
エラーログからの原因特定、単体テスト/統合テストの戦略、CI/CDパイプラインへの組み込み方法が対象です。
Data Governance: 7%
Unity Catalogを用いたメタデータ管理、データリネージ、タグ付けによる高度な資産管理が含まれます。
Data Modelling: 6%
レイクハウスにおけるメダリオンアーキテクチャの適用、物理的・論理的なデータモデリングのベストプラクティスが出題されます。
Data Sharing and Federation: 5%
Delta Sharingを用いた組織間データ共有や、Lakehouse Federationによる外部DBとの連携が含まれます。
<合格に向けたポイント>
- 問題文には「コストを最小限にしたい」「レイテンシを最優先したい」「開発の簡便さを重視したい」といったビジネス上の優先順位が隠されています。
- 選択肢の中に技術的に正しいものが複数ある場合、その「優先順位」に合致するものを選ぶトレーニングを積んでおきましょう。
本問題集の特徴
本プロフェッショナル用問題集は、試験の難化に合わせて、より実践的なシナリオベースの問題を中心に構成されています。
各選択肢に対する詳細な解説
プロフェッショナル試験では「似たような機能」の使い分けが重要になります。正解だけでなく、なぜ他の手法がそのケースにおいて最適ではないのかを、アーキテクチャの観点から詳しく解説しています。
関連する公式ドキュメントの提供
複雑な設定や高度なAPI仕様については、すぐに確認できるよう公式ドキュメントへのリンクを網羅。学習の質を一段階引き上げます。
サンプル問題
実際の問題例と解説例を掲載するので、参考にしてください。
問題1
小売企業のデータプラットフォーム担当者が、組織全体のコンピューティングリソースの利用状況を追跡・分析するための統合ダッシュボードを作成しています。エンジニアは詳細を把握するために system.billing.usage システムテーブルに対して以下のSQLクエリを記述しました。このクエリが提供する情報の目的と詳細レベルとして、最も正確な説明はどれですか?
SELECT identity_metadata.run_as, sku_name, usage_date, usage_quantity
FROM system.billing.usage
WHERE usage_unit = 'DBU'
選択肢
- ユーザーごとの、各コンピューティングリソースタイプに対する詳細なDBU消費量を監視する。
- コンピューティングタイプごとの、各ジョブ実行に対する詳細なDBU消費量を監視する。
- ワークスペースごとの、各コンピューティングリソースタイプに対する詳細なDBU消費量を監視する。
- コンピューティングタイプごとの、各パイプライン実行に対する詳細なDBU消費量を監視する。
- コンピューティングタイプごとの、クラウドプロバイダーのコスト見積もりを算出する。
全体解説
Databricksの「システムテーブル(System Tables)」は、プラットフォームの利用状況を分析するための非常に強力なツールです。特に system.billing.usage は、DBU(Databricks Unit)の消費状況を記録しており、コスト管理(FinOps)の要となります。このテーブルの identity_metadata フィールドを参照することで、誰が(またはどのサービスプリンシパルが)リソースを消費したかを特定できます。
各選択肢に対する解説
1. 正解です。
identity_metadata.run_as カラムによって実行ユーザー(ID)を特定し、sku_name によって使用されたコンピューティングの種類(例:All Purpose Compute, Jobs Compute等)を特定できるため、ユーザー単位でのリソース利用分析が可能です。
2. 不正解です。
ジョブ単位(job_id)で消費量を追跡するには、usage_metadata 構造体に含まれるジョブ固有の情報を参照する必要がありますが、提示されたクエリにはそのカラムが含まれていません。
3. 不正解です。
ワークスペース単位の分析を行うには、workspace_id カラムを抽出または集計のキーに含める必要がありますが、このクエリには含まれていません。
4. 不正解です。
DLT(Delta Live Tables)パイプラインなどの特定のワークロードを追跡する場合も、usage_metadata 内の特定のIDを参照する必要があります。
5. 不正解です。
このクエリは消費量(quantity)を抽出していますが、金額計算(見積もり)を行うための単価データは含まれていません。
<公式ドキュメント>
システムテーブルを使用した使用料の監視
https://docs.databricks.com/ja/administration-guide/system-tables/billing.html
問題2
製造業のデータエンジニアが、Change Data Feed(CDF)が有効なDeltaテーブル「parts_inventory」を運用しています。このテーブルをDelta Sharingを使用して外部のサプライヤーと共有し、サプライヤーが次の操作を行えるようにしたいと考えています。
- table_changes() 関数を使用して増分変更を使用する。
- テーブルに対してタイムトラベルクエリを実行する。
これを実現するために、エンジニアが実行すべきSQLコマンドはどれですか?
選択肢
- ALTER SHARE supplier_share ADD TABLE parts_inventory WITH CDF;
- ALTER SHARE supplier_share ADD TABLE parts_inventory WITH HISTORY;
- ALTER SHARE supplier_share ADD TABLE parts_inventory WITH (CDF AND TIME TRAVEL);
- ALTER SHARE supplier_share ADD TABLE parts_inventory WITH TIME TRAVEL;
- ALTER SHARE supplier_share ADD TABLE parts_inventory START VERSION 1;
全体解説
Delta Sharingでは、最新のデータだけでなく、テーブルの履歴や変更データ(CDF)を共有することも可能です。サプライヤーが増分データ(CDA)を取得したり、過去の特定時点のデータを参照(タイムトラベル)したりするためには、シェアに対してテーブルを追加する際に、履歴情報を明示的に含めるオプションを指定する必要があります。
各選択肢に対する解説
1. 不正解です。
WITH CDF という構文は、Delta Sharing において履歴やCDFの共有を有効にするための正しいキーワードではありません。
2. 正解です。
WITH HISTORY オプションを使用することで、共有テーブルの履歴データへのアクセスが許可されます。これにより、受信者は table_changes() 関数による増分データの取得や、タイムトラベル機能が利用可能になります。
3. 不正解です。
このように複数の機能をカッコで囲んで指定するような構文は存在しません。履歴全般の共有には WITH HISTORY を一律で使用します。
4. 不正解です。
WITH TIME TRAVEL という個別のオプションは存在しません。
5. 不正解です。
START VERSION は共有を開始する基準点を指定する際に使われることがありますが、履歴機能そのものを有効化するオプションではありません。
<公式ドキュメント>
Delta Sharing を使用した履歴データの共有
https://docs.databricks.com/gcp/ja/delta-sharing/create-share
まとめ
Databricks認定データエンジニアプロフェッショナル試験の合格には、理論の理解だけでなく、実戦形式の問題を通じて「なぜその回答が最適なのか」を深く理解することが不可欠です。
本問題集は、すべての問題に詳細な解説と公式ドキュメントへのリンクを完備しており、効率的かつ確実にスキルを定着させられるよう設計されています。
あなたの学習をサポートし、自信を持って試験当日を迎えられるようにします。
クーポンリンク
以下のリンクから、本問題集を特別価格でご購入いただけます。
クーポンコード:672B349A93C2040BBE41
Databricks 認定 Data Engineer Professional 模擬試験問題集(日本語版)