Databricks Certified Data Engineer Professional 問題集

Databricks Certified Data Engineer Professional 試験対策公式 Exam Guide(2026年10月9日公開の試験の版)準拠

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

Databricks Certified Data Engineer Professional 無料問題 3 / 10 ・ 分野2: Data Ingestion & Acquisition

JSON ファイルをスキーマを指定して読み、mode を DROPMALFORMED にし、rescuedDataColumn に "_rescued_data" を指定した。レコード A は INT の rating に "five" という文字列が入っている。レコード B は途中で切れていて、JSON として閉じていない。読み込みの結果で A と B はどう扱われるか。

  1. A も B も結果に残り、どちらの値も _rescued_data に入る
  2. A は結果に残って値が _rescued_data に入り、B は落とされる
  3. A も B も壊れたレコードとして、結果から落とされる
  4. A は落とされ、B は結果に残って本文が _rescued_data に入る
正解と解説を見る

正解: B

正解の理由
rescuedDataColumn を指定すると、スキーマに無い・スキーマの型と合わない・フィールド名の大文字小文字が違う、のどれかで解析されなかったデータが、救出列に JSON の形で入る。公式は、この列を DROPMALFORMED や FAILFAST と組み合わせたとき、型の不一致ではレコードは落とされず(FAILFAST でもエラーにならず)、落とされたりエラーになったりするのは不完全・不正な JSON(壊れたレコード)だけ、と定めている。A は型の不一致なので行は残り、"five" は _rescued_data に入る。B は閉じていない不完全な JSON なので、DROPMALFORMED で落とされる。

違う選択肢
「A も B も壊れたレコードとして、結果から落とされる」… 救出列を指定しないときの DROPMALFORMED の動きを当てはめたもの。救出列を使うと型の不一致は壊れたレコードに数えないので、A は落とされない。A まで落とすなら、救出列で値を拾う意味がなくなる。
「A は落とされ、B は結果に残って本文が _rescued_data に入る」… 向きが逆である。救出列が拾うのはスキーマとの食い違い(型・欠けた列・大文字小文字)で、JSON として壊れたレコードの本文を受ける列ではない。B は解析できないので、DROPMALFORMED で落とされる。
「A も B も結果に残り、どちらの値も _rescued_data に入る」… B のような不完全な JSON は救出の対象ではない。救出列を付けても、壊れたレコードの扱いは mode に従い、DROPMALFORMED なら落とされる。

押さえどころ
JSON の解析のモードは PERMISSIVE・DROPMALFORMED・FAILFAST の3つである。救出列にはレコードの元のファイルのパスも入り、spark.databricks.sql.rescuedDataColumn.filePath.enabled を false にすると外せる。

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

問題集(note)を見る