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

DP-900:Microsoft Azure Data Fundamentals

正解 D問題
分野1:データの主要概念の説明 タスクステートメント1.1:データを表す方法の説明
合格に向けて、もっと深く学習する
豊富な問題と詳細なAzureサービス解説を、1 時間無料でお試しいただけます
プレミアム会員機能を無料で試す ❯
問題文と選択肢
ある医療機関が、院内で扱っている次のデータを、構造の観点から分類しようとしている。
このうち、構造化データに分類されるものはどれか。
  • 医師が自由記述で入力した所見を、患者 ID をファイル名にして 1 人 1 ファイルのテキストとして保存したもの
  • 電子カルテから患者ごとに出力した JSON ファイル。アレルギー歴や既往歴の項目は、患者によって有無や件数が異なる
  • Azure Table Storage のテーブルに保存した問診データ。全行にパーティションキーと行キーがあるが、それ以外の列は行ごとに異なる
  • 予約システムが毎日出力する CSV ファイル。1 行目が「予約ID,患者ID,診療科,予約日時,担当医」で、2 行目以降に予約が 1 件 1 行で並ぶ
解説 頻出度★★★★★
この問題は、「全行(全レコード)が同じ列構成に従っているか」という一点で、固定スキーマの表形式=構造化データを見抜けるかがポイント。「テーブル」という名前、ファイル名の ID、キー名付きの JSON といった見た目の整い方に惑わされず、レコードごとに項目が変わるかどうかで判定します。

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
+ 質問 / コメント
解答・解説に疑問がある場合や、よりよい解説がある場合など、お気軽にコメントください。ただし、短文コメントは表示されません。また、中傷などコメントの内容によっては、会員機能を停止させて頂きます。教え学び合える場になれば嬉しいです。(コメント投稿にはログインが必要です)
正答率 0%
No.16 解説
ある医療機関が、院内で扱っている次のデータを、構造の観点から分類しようとしている。
このうち、構造化データに分類されるものはどれか。
  • 医師が自由記述で入力した所見を、患者 ID をファイル名にして 1 人 1 ファイルのテキストとして保存したもの
  • 電子カルテから患者ごとに出力した JSON ファイル。アレルギー歴や既往歴の項目は、患者によって有無や件数が異なる
  • Azure Table Storage のテーブルに保存した問診データ。全行にパーティションキーと行キーがあるが、それ以外の列は行ごとに異なる
  • 予約システムが毎日出力する CSV ファイル。1 行目が「予約ID,患者ID,診療科,予約日時,担当医」で、2 行目以降に予約が 1 件 1 行で並ぶ

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