Databricks Certified Data Engineer Professional 無料問題 6 / 10 ・ 分野5: Cost & Performance Optimization
アカウントでまだ予測的最適化を有効にしていなかったころに、カタログ sales で ALTER CATALOG sales DISABLE PREDICTIVE OPTIMIZATION を実行していた。その後、アカウント管理者がアカウントで予測的最適化を有効にした。sales と、何も設定していないカタログ ops の、Unity Catalog のマネージドテーブルはどうなるか。
- ops も sales も無効のまま。アカウントで後から有効にしても、それより前からあるカタログには及ばず、カタログごとに ENABLE が要る
- ops も sales も有効になる。アカウントで有効にすると、下の階層で先に無効にしていた設定は上書きされる
- ops は有効を継承し、sales は無効のまま。アカウントを有効にする前に明示した無効は、ブロックとして残る
- ops は無効のまま、sales は有効になる。アカウントの有効化は、ALTER で一度でも予測的最適化を設定したカタログにだけ届く
正解と解説を見る
正解: C
正解の理由
予測的最適化は継承のモデルで動く。すべての Unity Catalog のマネージドテーブルは既定でアカウントの値を継承し、カタログ・スキーマ・テーブルで明示的に有効や無効にすると、その下はそれを継承する。アカウントで有効にする前にカタログやスキーマ、テーブルで無効にしておくと、後からアカウントで有効にしても、そのオブジェクトはブロックされたままになる。親の設定に戻すには、INHERIT で継承を設定し直す。
違う選択肢
「ops も sales も有効になる。アカウントで有効にすると、下の階層で先に無効にしていた設定は上書きされる」… 上の階層の設定が、下の階層の明示的な設定を上書きすることはない。公式は、アカウントで有効にする前に無効にしていたオブジェクトは、後からアカウントで有効にしてもブロックされたままだと明記している。
「ops も sales も無効のまま。アカウントで後から有効にしても、それより前からあるカタログには及ばず、カタログごとに ENABLE が要る」… 何も設定していない ops は、アカウントの値を継承するので有効になる。既存のカタログにも継承は及び、カタログごとの ENABLE は要らない。無効のまま残るのは、明示的に DISABLE した sales のほうである。
「ops は無効のまま、sales は有効になる。アカウントの有効化は、ALTER で一度でも予測的最適化を設定したカタログにだけ届く」… 何も設定していない ops は、アカウントの値を継承するので有効になる。一方、アカウントを有効にする前に明示的に DISABLE した sales は、後からアカウントで有効にしてもブロックされたままで、有効にはならない。向きが両方とも逆である。
関連する設定
予測的最適化の有効・無効を変えるには、カタログやスキーマ、テーブルの所有者か、それぞれに対する MANAGE の権限が要る。アカウントの単位の設定はアカウント管理者がアカウントコンソールの機能の有効化で行い、サポートされていないリージョンのメタストアは有効にならない。
Databricks Certified Data Engineer Professionalの演習アプリ(無料10問・全問は解錠で)へ