Azure認定資格 WEB問題集&徹底解説

DP-900:Microsoft Azure Data Fundamentals

正解 D問題
分野4:分析ワークロードの説明 分野1:データの主要概念の説明 タスクステートメント4.1:大規模な分析の一般的な要素の説明 タスクステートメント1.2:データストレージのオプションの特定
合格に向けて、もっと深く学習する
豊富な問題と詳細なAzureサービス解説を、1 時間無料でお試しいただけます
プレミアム会員機能を無料で試す ❯
問題文と選択肢
ある小売企業のデータ分析チームは、複数の分析エンジン(Spark ノートブック、SQL 分析エンドポイント、Power BI)から同じ販売実績データへアクセスできるよう、Microsoft Fabric の Lakehouse を OneLake 上に構築している。異なるエンジンで書き込んでも、他のエンジンから一貫してテーブルとして読み書きできるようにしたい。
Lakehouse のテーブルとして OneLake へデータを書き込む際、Fabric の分析エンジンが共通して採用する保存形式として最も適切なものはどれか。
  • Avro
  • CSV
  • Parquet
  • Delta Lake
解説 頻出度★★★★★
この問題は、「複数エンジン(Spark・SQL 分析エンドポイント・Power BI)× 同じデータを一貫してテーブルとして読み書き」という要件で、Parquet ファイルにトランザクションログを加えたオープンなテーブル形式=Delta Lakeを選べるかがポイント。Delta のデータ本体が Parquet であることに引きずられて Parquet を選ばないことが鍵です。

A. Avro

Avro は行指向のバイナリ形式で、データ構造を表すスキーマ(JSON で記述)とデータを一緒に持ち、レコードを行単位で格納します。メッセージやイベントのシリアル化・受け渡しによく使われます。
しかし Avro は 1 つ 1 つのファイルの書式にすぎず、トランザクションログを持たないため、複数エンジンからの書き込みを一貫したテーブルとして管理する仕組みがありません。分析向けの列指向でもなく、Fabric の Lakehouse がテーブルを保存する形式でもありません。

B. CSV

CSV は値を区切り文字で並べ、1 行 1 レコードで表す行指向のテキスト形式です。人が読めて扱いやすい反面、列の型情報を持たず、圧縮効率や列単位の読み取りにも優れません。
トランザクションログも無いため、複数エンジンからの書き込みに対する一貫性を保証できず、Lakehouse のテーブル形式にはなりません。CSV は取り込み元のファイルとして Lakehouse の Files 領域に置かれることはあっても、テーブルとして保存される形式ではありません。

C. Parquet

Parquet は列指向のオープンなファイル形式で、圧縮効率と列単位の読み取りに優れた分析用途の定番です。実は Delta Lake のテーブルも、データ本体は Parquet ファイルとして保存されています。
ただし Parquet ファイル単体には、どの書き込みが確定したかを記録するトランザクションログが無いため、複数のエンジンが書き込んだときに書き込み途中のファイルを読んでしまうといった不整合を防げず、スキーマの適用やバージョン管理もできません。Fabric のエンジンが共通して採用する「テーブル」の保存形式は、Parquet にトランザクションログを加えた Delta Lake です。

正解

D. Delta Lake

Delta Lake は、Parquet のデータファイルに、変更履歴を記録するトランザクションログ(_delta_log フォルダー)を組み合わせたオープンソースのテーブル形式です。Learn は「Parquet ファイルの上にリレーショナル ストレージ機能を追加し、スキーマとトランザクションの一貫性を適用するテーブルを定義できる」と説明しています。
またFabric Lakehouse は OneLake に Delta Lake 形式でデータを格納し、Delta Lake は Microsoft Fabric と Azure Databricks の両方で使われる標準的なレイクハウス形式とされています。Spark ノートブックで書き込んだテーブルを SQL 分析エンドポイントや Power BI から一貫して読めるのは、すべてのエンジンがこの形式を共有しているからです。

これだけ覚える(記憶フック)
Fabric も Databricks もテーブルは Delta Lake。中身は Parquet、一貫性はトランザクションログが担う。
正解への思考ルート 問題文から要件を抽出し、選択肢の適否を判断するのがポイントです。
要件 判断ポイント
Spark・SQL 分析エンドポイント・Power BI から同じデータにアクセスする Fabric の全エンジンが共有する OneLake 上のテーブルの保存形式はDelta Lake
→選択肢(D)が正解
異なるエンジンで書き込んでも一貫してテーブルとして読み書きしたい 一貫性を担うのはトランザクションログ。ファイル形式単体の Parquet にはログが無い
→選択肢(C)を消す
分析エンジンが共通して採用する保存形式 Avro・CSV は行指向で分析向けの列指向ではなく、トランザクションログも持たない
→選択肢(A・B)を消す
Lakehouse のテーブルとして OneLake へ書き込む Lakehouse はTables(Delta テーブル)とFiles(任意形式のファイル)を分けて持つ。テーブルとして書くなら Delta
→選択肢(D)が正解
ひっかけポイント
  • Delta Lake のデータ本体は Parquet なので「Parquet でも同じ」と思いがちだが、テーブルとしての一貫性(トランザクション・スキーマの適用・バージョン管理)は _delta_log のトランザクションログが担う。Parquet 単体では実現できない
  • Avro は「スキーマを持つバイナリ形式」なのでテーブル向きに見えるが、行指向でトランザクションログも無い。主な用途はメッセージやイベントのシリアル化
  • 問われているのは「ファイル形式」と「テーブル形式」の区別。Parquet・Avro・CSV は1 つ 1 つのファイルの書式、Delta Lake はファイル群とログをまとめて 1 つのテーブルとして扱う形式
  • Fabric 固有の話と思いがちだが、Azure Databricks もネイティブのストレージ形式は Delta Lake。「Fabric でも Databricks でもレイクハウスのテーブルは Delta」と押さえる
出題バリエーション 同じ知識が本番では条件を変えて出題されます。
問題文がこう変わったら 正解はこう変わる
「テーブル管理は問わず、分析用に列単位の読み取りと圧縮効率に優れたファイル形式を選べ」 Parquet が正解に変わる。
「イベントやメッセージを行単位でシリアル化し、スキーマ付きでやり取りしたい」 Avro が正解軸に。
「Spark ではなくT-SQL で構造化データを扱い、強いスキーマの適用と多数の同時ユーザーをサポートしたい」 Fabric Warehouse が正解軸に(データは同じく OneLake 上に置かれる)。
「Azure Databricks のテーブルでトランザクション・スキーマの適用・バージョン管理を使いたい」 こちらもDelta Lake(Databricks のネイティブ形式)が正解。
補足として、「既に Apache Iceberg 形式で書かれたテーブルを Fabric から参照したい」 OneLake のテーブル形式の仮想化(メタデータ変換)で扱えるが、Fabric のエンジンが書き込む既定の形式は Delta Lake のまま。
関連サービスの解説 Microsoft Fabric
リファレンス この問題を解くために必要な知識を扱う公式ドキュメントです。
知識項目 公式ドキュメント
Delta Lake(Parquet+トランザクションの一貫性)と Fabric Lakehouse・Azure Databricks の保存形式 分析データ ストアを調べる - Training | Microsoft Learn
+ 質問 / コメント
解答・解説に疑問がある場合や、よりよい解説がある場合など、お気軽にコメントください。ただし、短文コメントは表示されません。また、中傷などコメントの内容によっては、会員機能を停止させて頂きます。教え学び合える場になれば嬉しいです。(コメント投稿にはログインが必要です)
正答率 0%
No.7 解説
ある小売企業のデータ分析チームは、複数の分析エンジン(Spark ノートブック、SQL 分析エンドポイント、Power BI)から同じ販売実績データへアクセスできるよう、Microsoft Fabric の Lakehouse を OneLake 上に構築している。異なるエンジンで書き込んでも、他のエンジンから一貫してテーブルとして読み書きできるようにしたい。
Lakehouse のテーブルとして OneLake へデータを書き込む際、Fabric の分析エンジンが共通して採用する保存形式として最も適切なものはどれか。
  • Avro
  • CSV
  • Parquet
  • Delta Lake

(会員限定)当問題の評価をお願いします。改善に活用します。