Azure認定資格 WEB問題集&徹底解説
DP-900:Microsoft Azure Data Fundamentals
問題文と選択肢
このうち、構造化データに分類されるものはどれか。
- 医師が自由記述で入力した所見を、患者 ID をファイル名にして 1 人 1 ファイルのテキストとして保存したもの
- 電子カルテから患者ごとに出力した JSON ファイル。アレルギー歴や既往歴の項目は、患者によって有無や件数が異なる
- Azure Table Storage のテーブルに保存した問診データ。全行にパーティションキーと行キーがあるが、それ以外の列は行ごとに異なる
- 予約システムが毎日出力する CSV ファイル。1 行目が「予約ID,患者ID,診療科,予約日時,担当医」で、2 行目以降に予約が 1 件 1 行で並ぶ
A. 医師が自由記述で入力した所見を、患者 ID をファイル名にして 1 人 1 ファイルのテキストとして保存したもの
医師が自由記述で入力した所見は、文章の中に決まったフィールドや列を持たない非構造化データです。Learn も、ドキュメント・画像・音声・動画・バイナリ ファイルなど特定の構造を持たないデータを非構造化データの例に挙げています。
患者 ID をファイル名にして 1 人 1 ファイルに整理しても、それはファイルの置き方(命名規則)の工夫にすぎません。中身の文章に固定のスキーマが生まれるわけではないため、構造化データには当たりません。
B. 電子カルテから患者ごとに出力した JSON ファイル。アレルギー歴や既往歴の項目は、患者によって有無や件数が異なる
アレルギー歴や既往歴の項目が患者によって有ったり無かったり、件数が違ったりする JSON は、半構造化データの典型です。Learn は半構造化データを「ある程度の構造を持つが、エンティティのインスタンス間で一部のバリエーションを許す情報」と定義し、顧客ごとに連絡先の数やフィールドが異なる JSON ドキュメントを例に挙げています。
「キー名と値の組」という構造はあっても、全レコードが同じ項目を持つ固定スキーマではないため、構造化データには当たりません。
C. Azure Table Storage のテーブルに保存した問診データ。全行にパーティションキーと行キーがあるが、それ以外の列は行ごとに異なる
Azure Table Storage は名前に「テーブル」と付きますが、Learn は「リレーショナル データベースのテーブルのようなものであると間違って解釈しないでください」と注意したうえで、半構造化データを格納できるサービスとして説明しています。全行に必須なのはパーティション キーと行キー(と変更日時を記録するタイムスタンプ)だけで、それ以外の列は行ごとに異なってよいからです。
本選択肢も「それ以外の列は行ごとに異なる」と明記されており、すべての行が同じ列構成に従うという構造化データの条件を満たしません。
D. 予約システムが毎日出力する CSV ファイル。1 行目が「予約ID,患者ID,診療科,予約日時,担当医」で、2 行目以降に予約が 1 件 1 行で並ぶ
正解です。この CSV は 1 行目の見出し「予約ID,患者ID,診療科,予約日時,担当医」で列が決まり、2 行目以降のすべての予約がその同じ列構成に従って 1 件 1 行で並びます。これは Learn が定義する構造化データ(すべてのデータが同じフィールドを持つ固定スキーマに準拠し、行がエンティティのインスタンス、列が属性を表す表形式)そのものです。
データベースではなくテキストのファイルとして保存されていても、構造化かどうかは保存の仕方ではなくデータ自体の形(スキーマ)で決まります。
全行が同じ列なら構造化、行ごとに項目が揺れたら半構造化、決まった形が無ければ非構造化。
正解への思考ルート
問題文から要件を抽出し、選択肢の適否を判断するのがポイントです。| 要件 | 判断ポイント |
|---|---|
| 医師が自由記述で入力した所見のテキストファイル | 文章に決まった列は無く非構造化。ファイル名の患者 ID は置き方の工夫にすぎない →選択肢(A)を消す |
| 項目の有無や件数が患者ごとに異なる JSON | キーと値の構造はあるが、レコードごとに項目が揺れるのは半構造化 →選択肢(B)を消す |
| パーティションキーと行キー以外の列が行ごとに異なる Table Storage のデータ | 名前は「テーブル」でも列が行ごとに可変なので半構造化 →選択肢(C)を消す |
| 1 行目の見出しで列が決まり、全行が同じ列で並ぶ CSV | 固定スキーマの表形式は、保存先がファイルでも構造化データ →選択肢(D)が正解 |
ひっかけポイント
- 「Azure Table Storage」「テーブル」という名前から構造化と判断しがちだが、DP-900 の Learn は半構造化データのストアとして扱う。必須なのはパーティション キー・行キー(とタイムスタンプ)だけで、残りの列は行ごとに異なってよい
- 「CSV はただのテキストファイルだから非構造化」と考えるのは誤り。構造化かどうかは保存形式(ファイルか DB か)ではなく、データが固定スキーマに従うかで決まる
- 「患者 ID をファイル名にして 1 人 1 ファイル」は整理されて見えるが、整理の仕方と中身の構造は別物。自由記述の文章は何に保存しても非構造化のまま
- JSON は「キー名が付いているから構造化」に見えるが、項目の有無や件数がレコードごとに異なれば半構造化。DP-900 では JSON は半構造化の代表例として出題される
出題バリエーション
同じ知識が本番では条件を変えて出題されます。| 問題文がこう変わったら | 正解はこう変わる |
|---|---|
| 「レントゲンの画像や、所見を録音した音声ファイル」はどれに分類されるか | 非構造化データ(Learn が例に挙げる画像・音声・動画・バイナリ ファイル)。 |
| 「項目の異なる問診データをJSON のまま保存してクエリしたい」保存先はどれか | Azure Cosmos DB for NoSQL などのドキュメント データベースが正解軸に。 |
| 「予約データをリレーションシップを持つ複数のテーブルで管理し、SQL でクエリしたい」 | Azure SQL Database などのリレーショナル データベース(構造化データの典型的な保存先)が正解軸に。 |
| 「テキストや画像の意味の近さで検索するために使う、コンテンツの数値表現」は何か | ベクター データ(埋め込み)。Learn では非構造化データとあわせて紹介されている。 |
リファレンス
この問題を解くために必要な知識を扱う公式ドキュメントです。| 知識項目 | 公式ドキュメント |
|---|---|
| 構造化・半構造化・非構造化データの定義と例(固定スキーマの表形式、項目の異なる JSON、ドキュメントや画像) | データ形式を識別する - Training | Microsoft Learn |
| Azure Table Storage は半構造化データを格納し、キー以外の列は行ごとに異なってよい | Azure Tables の詳細情報 - Training | Microsoft Learn |
このうち、構造化データに分類されるものはどれか。
- 医師が自由記述で入力した所見を、患者 ID をファイル名にして 1 人 1 ファイルのテキストとして保存したもの
- 電子カルテから患者ごとに出力した JSON ファイル。アレルギー歴や既往歴の項目は、患者によって有無や件数が異なる
- Azure Table Storage のテーブルに保存した問診データ。全行にパーティションキーと行キーがあるが、それ以外の列は行ごとに異なる
- 予約システムが毎日出力する CSV ファイル。1 行目が「予約ID,患者ID,診療科,予約日時,担当医」で、2 行目以降に予約が 1 件 1 行で並ぶ
次の問題前の問題
会員機能
お役立ち情報
姉妹サイト
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