Professional Data Engineer(Google Cloud) 問題集

Google Cloud 認定資格 Professional Data Engineer 試験対策公式Exam Guide(2026年9月27日時点)準拠

Professional Data Engineer(Google Cloud)の日本語問題集。全180問に解説つき。

Professional Data Engineer(Google Cloud) 無料問題 8 / 10 ・ 分野4: 分析用データの準備と使用

結合のキーの一部の値に行が集中しているテーブルを JOIN したところ、実行グラフの JOIN のステージに Partition skew の洞察が出た。Get query performance insights のページが挙げる対処に合うものはどれか。

  1. 偏りの元になっているキーの集計は、APPROX_COUNT_DISTINCT を COUNT(DISTINCT) に替えて、偏りの影響を抑える
  2. 偏りの元になっている NULL や空文字のキーの行は、結合と GROUP BY を終えたあとの WHERE 句で除く
  3. 偏りの元になっている少数のキーの行を別のクエリで処理し、残りのキーの結果と UNION ALL で合わせる
  4. 偏りの元になっているキーを含む結合は、行数を大きく減らすほかの結合より先に実行されるよう並べる
正解と解説を見る

正解: C

正解の理由
Partition skew の節は、BigQuery はデータを小さなパーティションに分けて並列に処理し、結合やグループ化のキーに多く現れる値があると一部のパーティションが大きくなると書く。1つのスロットがパーティション全体を処理し、仕事を分けられないため、大きすぎるパーティションは処理を遅くし、resource exceeded のエラーを起こすこともある。対処の1つとして、偏りが少数のキーの値によるなら、クエリを分け、偏ったキーのデータを残りと別に処理してから、結果を UNION ALL で合わせるよう示す。

違う選択肢
「偏りの元になっているキーの集計は、APPROX_COUNT_DISTINCT を COUNT(DISTINCT) に替えて、偏りの影響を抑える」… Mitigate partition skew は、偏ったデータの集計で近似の結果でよいなら、APPROX_COUNT_DISTINCT のような関数は COUNT(DISTINCT) のような正確な関数より偏りに強いと書く。替える向きが逆である。
「偏りの元になっている NULL や空文字のキーの行は、結合と GROUP BY を終えたあとの WHERE 句で除く」… 同じ節は、キーの列に NULL や空文字の行が多いことを偏りのよくある原因に挙げ、分析に要らなければ、JOIN や GROUP BY の前に WHERE 句で除くよう書く。あとで除いても、偏った段の処理は減らない。
「偏りの元になっているキーを含む結合は、行数を大きく減らすほかの結合より先に実行されるよう並べる」… 同じ節は、複数の結合があるクエリでは順番が効き、行数を大きく減らす結合をできるだけクエリの早い段階に置くよう書く。偏った結合を先に回す向きではない。

偏りの見つけ方
偏りを確かめるには、大きいほうのテーブルで結合のキーの分布を数える。とても大きなテーブルでは、APPROX_TOP_COUNT 関数で最も多い値を効率よく見積もれる。上位の値の件数がほかより桁違いに多ければ偏りがある。BigQuery は大きすぎるパーティションを均し直そうとし、均しきれないときに実行グラフの JOIN のステージにこの洞察を付ける。

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

問題集(note)を見る