Fabric Data Engineer Associate(DP-700) 無料問題 7 / 10 ・ 分野2: データの取り込みと変換
Eventhouse の KQL データベースで、テーブル Parsed に、RawLogs をソースにする更新ポリシーを定義してある。RawLogs のデータを入れ直すため、.set-or-replace RawLogs <| … のコマンドを実行した。Parsed の行について、更新ポリシーの概要のページの説明に合うものはどれか。
- Parsed の行はそのまま残り、今回 RawLogs に入った行を変換した結果が Parsed に足される
- IsTransactional を true にした更新ポリシーでは Parsed の行も置き換えられうるが、既定の false では Parsed はそのまま残る
- .set-or-replace では更新ポリシーは動かず、Parsed の行はそのまま残る
- Parsed の行も RawLogs と同じように置き換えられ、それまでの Parsed の行は失われうる
正解と解説を見る
正解: D
正解の理由
ページは、更新ポリシーは .ingest・.set・.append・.set-or-append・.set-or-replace などでソースのテーブルにデータが入ったときに動くと書く。そのうえで、更新ポリシーが .set-or-replace の一部として動くと、既定では派生のテーブルのデータもソースのテーブルと同じように置き換えられ、更新ポリシーでつながるすべてのテーブルでデータが失われうると警告し、.set-or-append を使うよう勧める。
違う選択肢
「Parsed の行はそのまま残り、今回 RawLogs に入った行を変換した結果が Parsed に足される」… ページは、更新ポリシーが .set-or-replace の一部として動くと、既定では派生のテーブルのデータもソースと同じように置き換えられると書く。足されるだけではない。
「.set-or-replace では更新ポリシーは動かず、Parsed の行はそのまま残る」… ページは、更新ポリシーが動くコマンドとして、.ingest のほかに .set・.append・.set-or-append・.set-or-replace と、.move extents・.replace extents を挙げる。.set-or-replace でも動く。
「IsTransactional を true にした更新ポリシーでは Parsed の行も置き換えられうるが、既定の false では Parsed はそのまま残る」… ページは、.set-or-replace の一部として動くときは、既定で派生のテーブルのデータもソースと同じように置き換えられると書く。IsTransactional は、ポリシーが失敗したときにソースとターゲットのデータの一貫性を保つかを決める設定で、置き換えの条件ではない。
押さえどころ
PropagateIngestionProperties の設定は取り込みの操作でだけ効き、.move extents や .replace extents で更新ポリシーが動くときは効かないとページは書く。