SnowPro Advanced: Data Engineer 問題集

SnowPro Advanced: Data Engineer (DEA-C02) 試験対策公式 Study Guide DEA-C02(2026年3月更新)準拠

SnowPro Advanced: Data Engineerの日本語問題集。全180問に解説つき。

SnowPro Advanced: Data Engineer 無料問題 6 / 10 ・ 分野3: Storage and Data Protection

表 WEB_EVENTS は CLUSTER BY (event_date) でクラスタリングしている。表全体ではなく、2026-09-01 以降の範囲だけについて、event_date でどれだけまとまっているかの平均の深さを求めたい。求められる呼び出しはどれか。

  1. SELECT SYSTEM$CLUSTERING_DEPTH('WEB_EVENTS', '(event_date)', 'WHERE event_date >= ''2026-09-01''');
  2. SELECT SYSTEM$CLUSTERING_INFORMATION('WEB_EVENTS', '(event_date >= ''2026-09-01'')');
  3. SELECT SYSTEM$CLUSTERING_INFORMATION('WEB_EVENTS', '(event_date)', 'event_date >= ''2026-09-01''');
  4. SELECT SYSTEM$CLUSTERING_DEPTH('WEB_EVENTS', '(event_date)', 'event_date >= ''2026-09-01''');
正解と解説を見る

正解: D

正解の理由
SYSTEM$CLUSTERING_DEPTH は第3引数に述語(predicate)を取り、深さを求める列の値の範囲を絞れる。公式は、この述語の先頭に WHERE のキーワードを付けないこと、引数はすべて文字列で単一引用符で囲むこと、述語の中の文字列は単一引用符を2つ重ねてエスケープすることを定めている。列の引数は、クラスタリングキーのある表では省けるが、書けばその列で求める。

違う選択肢
「SELECT SYSTEM$CLUSTERING_DEPTH('WEB_EVENTS', '(event_date)', 'WHERE event_date >= ''2026-09-01''');」… 述語に WHERE を付けている。公式は、predicate は WHERE のキーワードで始めない、と書く。
「SELECT SYSTEM$CLUSTERING_INFORMATION('WEB_EVENTS', '(event_date)', 'event_date >= ''2026-09-01''');」… SYSTEM$CLUSTERING_INFORMATION には範囲を絞る引数が無い。第2引数は列・式か、返すエラーの数のどちらかで、両方を同時に渡すこともできない。
「SELECT SYSTEM$CLUSTERING_INFORMATION('WEB_EVENTS', '(event_date >= ''2026-09-01'')');」… 第2引数の括弧の中は、絞り込みの条件ではなく、クラスタリングの情報を求める式として扱われる。event_date >= ... という真偽の式でのまとまり方を求めることになり、範囲は絞れない。

押さえどころ
クラスタリングキーの無い表でも、列を渡せばどちらの関数も使え、キーの候補を比べるのに使える(キーの無い表で列を省くとエラーになる)。深さは表の出来の目安であって、公式は、最終的にはクエリの性能がいちばんの指標だとしている。空の表の深さは0、データのある表では1以上になる。

SnowPro Advanced: Data Engineerの演習アプリ(無料10問・全問は解錠で)へ

問題集(note)を見る