SnowPro Advanced: Administrator 無料問題 5 / 10 ・ 分野2: Account Management and Data Governance
表 HR.EMP の列に個人情報があるかを、EXTRACT_SEMANTIC_CATEGORIES で調べる。結果を確かめてから、分類のタグを列に付けたい。公式ドキュメントに沿う進め方はどれか。
- 動いているウェアハウスで関数を呼び、返る JSON を表に保存して見直し、採る分だけ ASSOCIATE_SEMANTIC_CATEGORY_TAGS で付ける
- ウェアハウスを使わない関数なので、そのまま呼んで返る JSON を見直し、ALTER TABLE ... SET TAG で1列ずつ付ける
- 動いているウェアハウスで、max_rows_to_scan に表の行数(約50万)を渡して全行を読ませ、見直してから付ける
- 関数を呼ぶと SEMANTIC_CATEGORY と PRIVACY_CATEGORY のタグが列に付くので、違うものだけを UNSET TAG で外す
正解と解説を見る
正解: A
正解の理由
EXTRACT_SEMANTIC_CATEGORIES は、表やビューの対応する列ごとに、意味のカテゴリとプライバシーのカテゴリの候補を JSON で返す。動いているウェアハウスが要る。結果は CREATE TABLE ... AS SELECT などで表に保存して見直せる。保存した結果には、ASSOCIATE_SEMANTIC_CATEGORY_TAGS に渡す前に手を入れられるので、見直して採ると決めた分だけを、このストアドプロシージャで分類のタグとして列に付ける。
違う選択肢
「関数を呼ぶと SEMANTIC_CATEGORY と PRIVACY_CATEGORY のタグが列に付くので、違うものだけを UNSET TAG で外す」… EXTRACT_SEMANTIC_CATEGORIES は、列ごとの分類の候補を JSON で返すだけで、タグは付けない。付けるのは別の手順である。
「ウェアハウスを使わない関数なので、そのまま呼んで返る JSON を見直し、ALTER TABLE ... SET TAG で1列ずつ付ける」… 公式は、この関数には動いているウェアハウスが要り、ウェアハウスが性能と費用に影響すると書いている。
「動いているウェアハウスで、max_rows_to_scan に表の行数(約50万)を渡して全行を読ませ、見直してから付ける」… max_rows_to_scan に渡せるのは1から10000までで、既定も10000である。表の全行を読ませる値は渡せない。
押さえどころ
この関数は旧来の方法(legacy)で、公式は分類のほかの方法を勧めている。値がすべて NULL の列や、分類に対応しないデータ型の列はカテゴリを返さない。プライバシーのカテゴリは、IDENTIFIER・QUASI_IDENTIFIER・SENSITIVE のいずれかになる。