Databricks Certified Data Engineer Associate 問題集

Databricks Certified Data Engineer Associate 試験対策公式 Exam Guide(2026年5月4日時点の試験の版)準拠

Databricks Certified Data Engineer Associateの日本語問題集。全163問に解説つき。

Databricks Certified Data Engineer Associate 無料問題 2 / 10 ・ 分野2: Data Ingestion and Loading

Auto Loader で取引先の JSON を Unity Catalog の表へ取り込む。満たしたい条件は次の3つである。(1) 取引先が項目を足しても、ストリームを止めない。(2) 表の列の構成は、取り込みの側の動きでは変わらないようにする。(3) 足された項目の値は捨てず、あとで確かめられる形で表に残す。読み込みの設定として、3つの条件をすべて満たすものはどれか。

  1. .schema() で列と型を渡し、schemaEvolutionMode は付けず、rescuedDataColumn を指定する
  2. schemaHints で列と型を渡し、schemaEvolutionMode も rescuedDataColumn も付けない
  3. .schema() で列と型を渡し、schemaEvolutionMode を addNewColumns にし、rescuedDataColumn を指定する
  4. .schema() で列と型を渡し、schemaEvolutionMode も rescuedDataColumn も付けない
正解と解説を見る

正解: A

正解の理由
.schema() でスキーマを渡すと、schemaEvolutionMode の既定は none になる。none はスキーマを進化させず、ストリームはスキーマの変化では止まらない。新しい列は無視されるが、rescuedDataColumn のオプションを付けていれば、その値は退避用の列に JSON の形で入る。表の列は渡したスキーマのままなので、(1)〜(3) をすべて満たす。

違う選択肢
「schemaHints で列と型を渡し、schemaEvolutionMode も rescuedDataColumn も付けない」… schemaHints は、推論するスキーマに型の指示を足すもので、スキーマを渡すことにはならない。スキーマを渡していないので、schemaEvolutionMode の既定は addNewColumns になり、新しい列を見つけると列をスキーマに足してからストリームが UnknownFieldException で止まる。(1) と (2) を満たさない。
「.schema() で列と型を渡し、schemaEvolutionMode も rescuedDataColumn も付けない」… スキーマを渡したので既定は none になり、(1) と (2) は満たす。だが公式の表は none を "data is not rescued unless the rescuedDataColumn option is set" と書いている。rescuedDataColumn を付けていないので値は捨てられ、(3) を満たさない。
「.schema() で列と型を渡し、schemaEvolutionMode を addNewColumns にし、rescuedDataColumn を指定する」… 公式は "addNewColumns is not allowed when the schema of the stream is provided, but does work if you provide your schema as a schema hint." と書いている。.schema() でスキーマを渡したストリームに addNewColumns は指定できない。

関連する設定
退避用の列(rescued data column)には、スキーマに無い列の値のほか、型の合わない値や大文字小文字の違う列名の値も入る。退避された値は、元のファイルのパスと一緒に JSON の形で残る。

Databricks Certified Data Engineer Associateの演習アプリ(無料10問・全問は解錠で)へ

問題集(note)を見る