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 無料問題 4 / 10 ・ 分野3: Data Transformation and Modeling

Databricks Runtime 17.3 LTS で、Structured Streaming の集計(状態を持つ処理)で Delta 表に書くクエリがあり、これまで spark.sql.shuffle.partitions の既定の値(200)で動いてきた。データが小さいので、集計のシャッフルを 64 のパーティションで動かしたい。64 のパーティションで動くようになる手順はどれか。

  1. spark.sql.shuffle.partitions を 64 にし、これまでと同じチェックポイントの場所から再開する
  2. spark.sql.adaptive.coalescePartitions.minPartitionNum を 64 にし、これまでと同じチェックポイントの場所から再開する
  3. spark.sql.adaptive.coalescePartitions.minPartitionNum を 64 にし、新しいチェックポイントの場所で始める
  4. spark.sql.shuffle.partitions を 64 にし、新しいチェックポイントの場所で始める
正解と解説を見る

正解: D

正解の理由
状態を持つストリーミングのクエリでは、シャッフルのパーティション数はチェックポイントを作った時点で決まる。公式は、すでにチェックポイントのあるクエリでは spark.sql.shuffle.partitions を変えても効かず、新しい数を当てるには新しいチェックポイントの場所でクエリを始める必要があると書いている。64 にしてから新しいチェックポイントの場所で始めれば、64 で動く。

違う選択肢
「spark.sql.shuffle.partitions を 64 にし、これまでと同じチェックポイントの場所から再開する」… 公式の設定表の注記は "For Structured Streaming, this configuration cannot be changed between query restarts from the same checkpoint location." である。同じチェックポイントの場所から再開すると、値を 64 にしても、チェックポイントを作ったときの 200 のまま動く。
「spark.sql.adaptive.coalescePartitions.minPartitionNum を 64 にし、新しいチェックポイントの場所で始める」… coalescePartitions.minPartitionNum は、適応クエリ実行(AQE)がシャッフルの後にパーティションを合体させるときの最小の数である。公式は AQE が当たるクエリを "Non-streaming" と書いている。ストリーミングのクエリでは合体は働かず、新しいチェックポイントで始めても spark.sql.shuffle.partitions の 200 で動く。
「spark.sql.adaptive.coalescePartitions.minPartitionNum を 64 にし、これまでと同じチェックポイントの場所から再開する」… minPartitionNum は AQE の合体の設定で、AQE はストリーミングでないクエリに当たる。ストリーミングのクエリには効かず、同じチェックポイントから再開したクエリは 200 のまま動く。

つまずき方
新しいチェックポイントの場所で始めると、クエリは最初からの扱いになり、それまでの進み具合と状態は引き継がれない。どこから読み直すかを決めてから切り替える。

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

問題集(note)を見る