Azure認定資格 WEB問題集&徹底解説
DP-900:Microsoft Azure Data Fundamentals
問題文と選択肢
この要件に最も適したファイル形式はどれか。
- Avro
- CSV
- JSON
- Parquet
A. Avro
Avro は Apache プロジェクトの行ベース(行指向)のバイナリ形式です。データの構造を JSON のヘッダーに持ち、Learn も「データを圧縮し、必要なストレージとネットワーク帯域幅を最小限に抑えるのに優れた形式」と説明しているため、容量を小さくする要件だけなら満たせます。
しかしデータはレコード(行)単位でブロックに格納されるため、200 を超える項目のうち数項目しか使わないクエリでも行ごと全項目を読み込むことになります。「クエリごとに読み込むデータ量を小さくする」要件を満たせません。
B. CSV
CSV は、人間が判読でき幅広いアプリケーションから扱える区切りテキスト形式ですが、Learn が述べるとおり人間が判読できる形式は記憶領域や処理には最適化されていません。
行単位のテキストなので、数項目だけを集計する場合でも各行を全項目分読み取って区切り文字で分解する必要があり、容量・読み込み量の両方で不利です。
C. JSON
JSON は階層的なドキュメント構造で構造化・半構造化データの両方を表せる柔軟なテキスト形式で、クリックストリームログの出力形式としても身近です。
しかしオブジェクト(ログ 1 件)ごとに項目名を毎回テキストで書き込むため容量がかさみ、必要な項目だけを使う場合も各オブジェクト全体を読んで解析しなければなりません。容量・読み込み量の両方で要件に反します。
D. Parquet
Parquet は、データレイクやレイクハウスで広く使用されている列指向(列形式)のファイル形式です。行グループの中で各列のデータがまとめて格納され、ファイル内のメタデータを使って必要な列のデータだけを取得できるため、200 超の項目のうち数項目だけを参照するクエリでは読み込むデータ量を大幅に絞れます。
さらに効率的な圧縮とエンコードをサポートしており、同じ列の似た値をまとめて圧縮できるためストレージ容量も小さくなります。容量と読み込み量の両方を小さくする要件を満たす唯一の選択肢です。
一部の列だけ読む分析は列指向の Parquet。Avro は圧縮バイナリでも行ベース。
正解への思考ルート
問題文から要件を抽出し、選択肢の適否を判断するのがポイントです。| 要件 | 判断ポイント |
|---|---|
| ログ 1 件に 200 超の項目があり、クエリが参照するのは毎回数項目 | 必要な列だけを読める列指向の形式が有利。行単位で格納する形式では全項目を読むことになる →選択肢(D)は候補 |
| ストレージ容量を小さくしたい | テキスト形式の CSV・JSON は人間が判読できる反面、記憶領域や処理に最適化されていない →選択肢(B・C)を消す |
| クエリごとに読み込むデータ量も小さくしたい | Avro は圧縮されたバイナリで容量は小さいが行ベースのため、数項目のために全項目を読む →選択肢(A)を消す |
| 容量と読み込み量の両方を最小化 | 列ごとにまとめて格納し、圧縮とエンコードも効く Parquet →選択肢(D)が正解 |
ひっかけポイント
- Avro も「圧縮されたバイナリ形式」で容量は小さいため正解に見える。決め手は行ベースか列ベースかで、数項目だけ読む集計なら列指向の Parquet
- JSON はクリックストリームの出力形式として身近で半構造化データも表せるが、書き出しやすさと分析時の読み込み効率は別の評価軸
- 「データレイクには何でも置ける」から形式は問わない、と考えない。問われているのは置けるかどうかではなく、容量と読み込み量を最適化できるか
出題バリエーション
同じ知識が本番では条件を変えて出題されます。| 問題文がこう変わったら | 正解はこう変わる |
|---|---|
| 「データレイク上のファイルに対してACID トランザクションやデータのバージョン管理、確実な更新が必要」 | Parquet の上にトランザクション ログを加えたDelta Lake が正解に変わる。 |
| 「イベントを1 件ずつ(行単位で)書き込み、データの構造情報と一緒にコンパクトに受け渡したい」 | 構造を JSON のヘッダーに持つ行ベースのAvro が正解に変わる。 |
| 「人間が判読でき、幅広いアプリケーションやサービスから読み込める構造化データにしたい」 | CSV(区切りテキスト)が正解に変わる。 |
| 「顧客ごとに入れ子の連絡先リストを持つような階層構造のデータを、人が読める形でやり取りしたい」 | JSON が正解に変わる。 |
リファレンス
この問題を解くために必要な知識を扱う公式ドキュメントです。| 知識項目 | 公式ドキュメント |
|---|---|
| 区切りテキスト・JSON と最適化されたファイル形式(Parquet は列形式、Avro は行ベース、Delta Lake)の違い | ファイル ストレージについて調べる - Training | Microsoft Learn |
この要件に最も適したファイル形式はどれか。
- Avro
- CSV
- JSON
- Parquet
次の問題
会員機能
お役立ち情報
姉妹サイト
AWS
- CLF:クラウドプラクティショナー
- SAA:ソリューションアーキテクト-アソシエイト
- AIF:AIプラクティショナー
- SOA:CloudOpsエンジニア-アソシエイト
- DVA:デベロッパー-アソシエイト
- DEA:データエンジニア-アソシエイト
- MLA:機械学習エンジニア-アソシエイト
- SAP:ソリューションアーキテクト-プロフェッショナル
- DOP:DevOpsエンジニア-プロフェッショナル
- AIP:生成AIデベロッパー-プロフェッショナル
- SCS:セキュリティ-専門知識
Microsoft Azure
- AZ-900:Microsoft Azure Fundamentals
- AZ-104:Microsoft Azure Administrator
- AI-901:Microsoft Azure AI Fundamentals
- DP-900:Microsoft Azure Data Fundamentals