Skip to content

確認問題|Associate ① プラットフォーム基礎

教材 01-platform.md の内容に基づく確認問題です(全10問)。 まず問題を解き、下の「解答・解説」で答え合わせをしてください。

問題

Q1. Delta Lake に関する説明として、教材の内容に最も合致するものはどれか。

  • A. JSON データファイルをインデックスで拡張した、Databricks 専用のクローズドソースなストレージレイヤーである
  • B. Parquet データファイルをファイルベースのトランザクションログで拡張した、オープンソースの最適化ストレージレイヤーであり、Azure Databricks の既定のテーブル形式である
  • C. Apache Spark に代わる分散処理エンジンであり、コンピュートとストレージを密結合する
  • D. Unity Catalog を置き換える統合ガバナンスソリューションであり、アクセス制御・監査・系列を提供する

Q2. ACID トランザクションの「原子性(Atomicity)」の定義として正しいものはどれか。

  • A. コミットされた変更が永続的であること
  • B. 同時操作が互いにどう競合し得るかを規定すること
  • C. すべてのトランザクションが完全に成功するか、完全に失敗するかのどちらかであること
  • D. 同時操作がデータの状態をどう観察するかを保証すること

Q3. Delta Lake のトランザクションログ(_delta_log)の役割として、教材の記述に当てはまらないものはどれか。

  • A. コミットの原子性を制御し、書き込まれた全ファイルのパスを含む新しいエントリをコミットする
  • B. コミットごとにテーブルバージョンをインクリメントし、タイムトラベルの基盤となる
  • C. 並行制御の基盤となり、テーブルの現在状態は「ログで有効とマークされた全データファイル」で構成される
  • D. VM インスタンス種別に基づく処理能力の課金単位を記録し、DBU の集計を行う

Q4. Delta Lake の「一貫性」を支える楽観的並行性制御(Optimistic Concurrency Control)で、書き込みの「検証とコミット」段階において競合が検出された場合に起きることはどれか。

  • A. ロックを取得して他のトランザクションの完了を待機し、順番にコミットされる
  • B. 同時変更例外(concurrent modification exception)で失敗し、データ破損を防ぐ
  • C. デッドロックが発生し、両方のトランザクションがロールバックされる
  • D. 後から到着した書き込みで既存データを自動的に上書きしてコミットする

Q5. 毎晩スケジュール実行される非対話型の ETL ワークロードを構成する。コスト効率を重視し、実行完了後は自動でコンピュートを終了させたい。この用途に最も適したクラスターと、その特徴の組み合わせはどれか。

  • A. 汎用クラスター(all-purpose)/複数ユーザーで共有でき、手動で終了・再起動できる
  • B. ジョブクラスター(job cluster)/ジョブ完了時に自動終了し、再起動はできない
  • C. 汎用クラスター(all-purpose)/ジョブ完了時に自動終了し、再起動はできない
  • D. ジョブクラスター(job cluster)/対話的な共同分析のために複数ユーザーで共有する

Q6. データレイクハウス、データウェアハウス、データレイクの比較として、教材の内容に合致するものはどれか。

  • A. データウェアハウスは ML サポートに優れ、あらゆる形式の生データを安価に保存できる
  • B. データレイクは検証済みデータを標準形式で保持するため、BI レポートに最も適している
  • C. データレイクハウスは、データレイクとデータウェアハウスの利点を組み合わせ、単一の信頼できる情報源を提供し、BI と ML を同一基盤・同一データで扱える
  • D. データレイクハウスは独自形式に依存し、オープン標準形式へ直接アクセスすることはできない

Q7. Unity Catalog のデータ管理オブジェクトについて、正しい説明はどれか。

  • A. 3 階層データ構造は schema.catalog.table の順で、カタログが第 2 階層にあたる
  • B. ボリューム(Volume)は、クラウドオブジェクトストレージ上の非表形式(non-tabular)データを管理する論理ストレージである
  • C. メタストアはワークスペースレベルの領域で、ワークスペースごとに独立して管理される
  • D. カタログ(Catalog)はスキーマ内に含まれる最下位のコンテナーで、テーブルやボリュームを直接保持する

Q8. SQL ウェアハウス(SQL Warehouse)の種類として、教材で挙げられている 3 種の正しい組み合わせはどれか。

  • A. クラシック / プロ / サーバーレス
  • B. 汎用 / ジョブ / サーバーレス
  • C. ブロンズ / シルバー / ゴールド
  • D. クラシック / エンタープライズ / プレミアム

Q9. 既存の Delta テーブルに対し、ダウンストリームのロジックを書き換えず、かつ既存データを書き換えることなく、新しい列を追加したい。教材の記述に基づき、この目的に対応する機能はどれか。また、書き込み時に想定外のデータを弾く仕組みは何か。

  • A. 列追加はスキーマ適用(Schema Enforcement)で行い、書き込み時の検証はスキーマ進化(Schema Evolution)が担う
  • B. 列追加はスキーマ進化(Schema Evolution)で行い、書き込み時に要件に合わないデータを弾くのはスキーマ適用(Schema Enforcement)である
  • C. 列追加も書き込み時検証も、いずれもタイムトラベル(Time Travel)で実現する
  • D. 列追加は VACUUM で行い、書き込み時検証は OPTIMIZE が担う

Q10. Databricks でのサポート言語と開発の選択について、教材の記述に合致するものはどれか。

  • A. 新規プロジェクトの推奨言語は Scala と R であり、Python と SQL はサポートが限定的である
  • B. R は Databricks ノートブックでのみ完全にサポートされ、Lakeflow パイプラインは Python と SQL をサポートする
  • C. ノートブックは 1 セルにつき 1 言語のみで、同一ノートブック内で複数言語を混在させることはできない
  • D. Lakeflow パイプラインは Python・SQL・Scala・Java をサポートし、ワークフロー(ジョブ)は Python と SQL のみをサポートする

解答・解説

Q1. 正解: B Delta Lake は「Parquet データファイルをファイルベースのトランザクションログで拡張」したオープンソースの最適化ストレージレイヤーで、Azure Databricks の既定のテーブル形式(特に指定しない限り全テーブルが Delta)。A は「JSON」「クローズドソース」が誤り。C は Spark を置き換えるものではなく Spark 上で動く。D は Unity Catalog(ガバナンス)と Delta Lake(ストレージ)を混同した誤り。

Q2. 正解: C 原子性は「完全に成功するか、完全に失敗するか」のどちらか。A は永続性(Durability)、B は分離性(Isolation)、D は一貫性(Consistency)の定義であり、いずれも別の ACID 要素の説明。

Q3. 正解: D D は DBU(課金単位)の説明であり、トランザクションログの役割ではない。A・B・C はいずれも教材が示すトランザクションログの役割(コミットの原子性制御、バージョン管理=タイムトラベルの基盤、並行制御の基盤、有効ファイルによる現在状態の構成)で、正しい記述。「当てはまらないもの」を選ぶ設問。

Q4. 正解: B 楽観的並行性制御は読み取り→書き込み→検証とコミットの 3 段階で動き、他の書き込みと競合していれば同時変更例外で失敗しデータ破損を防ぐ。教材は「ロックがなくデッドロックが起きない」と明記するため A(ロック待機)・C(デッドロック)は誤り。競合時に自動上書きするという D も誤り。

Q5. 正解: B 非対話型・スケジュール実行のデータエンジニアリング(自動化)ワークロードにはジョブクラスターを使い、ジョブ完了時に自動終了する(再起動不可)。汎用クラスターは対話型・共有・手動終了/再起動向けなので A・C は不適。D は特徴の説明(共有・対話)がジョブクラスターの用途と食い違う。

Q6. 正解: C レイクハウスはデータレイクとデータウェアハウスの利点を組み合わせ、単一の信頼できる情報源を提供し BI と ML を同一基盤で扱える。A はデータウェアハウス(ML 限定的)とデータレイク(生データ保存)の特徴を取り違えている。B のデータレイクは未検証で BI に不向き。D はレイクハウスがオープン標準形式に直接アクセスできる点に反する。

Q7. 正解: B ボリュームはクラウドオブジェクトストレージ上の非表形式データを管理する論理ストレージ。A は正しい階層が catalog.schema.table で、カタログが最上位。C はメタストアがアカウントレベルの領域である点に反する。D はカタログが最上位のコンテナーである点に反する(スキーマが第 2 階層でテーブル・ボリュームを含む)。

Q8. 正解: A SQL ウェアハウスはクラシック / プロ / サーバーレスの 3 種(可能ならサーバーレス推奨)。B の「汎用 / ジョブ」はクラスターの分類。C の「ブロンズ / シルバー / ゴールド」はメダリオンアーキテクチャのレイヤー。D は実在しない組み合わせ。

Q9. 正解: B データを書き換えずにスキーマを変更(列追加など)できるのはスキーマ進化(Schema Evolution)。書き込み時にスキーマを検証し要件に合わないデータを弾くのはスキーマ適用(Schema Enforcement)。A は両者の役割が逆。C のタイムトラベルは過去バージョンのクエリ機能。D の VACUUM は古いファイル削除、OPTIMIZE は小ファイル圧縮であり、スキーマ操作ではない。

Q10. 正解: B R はノートブックでのみ完全サポート、Lakeflow パイプラインは Python と SQL をサポート。A は推奨言語が逆(新規推奨は Python と SQL、Scala/R が限定的)。C はノートブックが複数言語混在可能な点に反する。D は Lakeflow とワークフローのサポート言語が逆(ワークフロー=ジョブが Python/SQL/Scala/Java、Lakeflow パイプラインが Python/SQL)。