SYSTEM$CLASSIFY_SCHEMA¶
指定されたスキーマ内のテーブルをステージ分類します。オプションで、各テーブルのサンプルする行数を指定し、指定のスキーマに格納されたテーブルの各列に、推奨データ分類 システムタグ を割り当てます。
ストアドプロシージャの実行が完了したら、 データ分類を使用する に示すように、 SQL または Snowsight を使用してテーブルの分類を終了する必要があります。
構文¶
CALL SYSTEM$CLASSIFY_SCHEMA( '<object_name>' , <arg> )
引数¶
object_name
分類されるテーブルを含んでいるスキーマの名前。データベースとスキーマが現在のセッションで使用されていない場合は、名前を完全修飾する必要があります。
名前は、データベースに保存されているとおりに正確に指定する必要があります。名前に特殊文字、大文字小文字の区別、または空白スペースが含まれている場合は、名前を最初に二重引用符で囲み、次に一重引用符で囲む必要があります。
arg
分類プロセスがどのように動作するかを決定するための引数を指定します。次のいずれかを使用します。
NULL
Snowflakeは、指定されたオブジェクトの行数に基づいてデフォルトの構成を使用します。指定されたオブジェクトにあるどの列にもシステムタグは設定されません。
{}
空のリスト。これは機能的には
NULL
を指定するのと同様です。{'sample_count': integer}
指定したオブジェクトにあるサンプルする行数を指定します。
1
から10000
(各値を含む)までの任意の数。{'auto_tag': true}
分類プロセスが完了したときに、指定されたオブジェクトの列に推奨分類システムタグを設定します。
この引数を使用する場合は、スキーマに対する OWNERSHIP 権限を持つロールでストアドプロシージャを呼び出します。
{'sample_count': integer, 'auto_tag': true}
サンプルする行数を指定しながら指定されたオブジェクトを分類し、分類処理が完了したら指定されたオブジェクトの各列に推奨システムタグを設定します。
この引数を使用する場合は、スキーマに対する OWNERSHIP 権限を持つロールでストアドプロシージャを呼び出します。
{'use_all_custom_classifiers': true}
Snowflakeはすべてのカスタム分類インスタンスを評価し、分類結果に基づいてカスタム分類インスタンスに関連付けられたタグを推奨します。
このオプションは、ストアドプロシージャを呼び出す使用中のロール(現在のロール、呼び出し元の権限)にアクセス可能なカスタム分類子を使用します。詳細については、 Understanding Caller's Rights and Owner's Rights Stored Procedures をご参照ください。
{'custom_classifiers': ['instance_name1' [ , 'instance_name2' ... ] ]}
列に設定する推奨タグのソースとして評価する、カスタム分類インスタンスを指定します。
リストに複数のインスタンスを指定し、各インスタンスをコンマで区切ることができます。
戻り値¶
ストアドプロシージャは、以下の形式で JSON オブジェクトを返します。例:
{
"failed": [
{
"message": "Insufficient privileges.",
"table_name": "t4"
}
],
"succeeded": [
{
"table_name": "t1"
},
{
"table_name": "t2"
},
{
"table_name": "t3"
}
]
}
条件:
failed
テーブルの分類がスケジュールされなかった理由を示すメッセージを指定します。
succeeded
データ分類のためにステージされた各テーブルを指定します。
使用上の注意¶
指定されたスキーマ名には、最大1000個のテーブルオブジェクトを含めることができます。スキーマに1000個を超えるテーブルオブジェクトが含まれている場合、Snowflakeはエラーメッセージを返します。
グローバルに定義されたストアドプロシージャは、呼び出し元の権限を利用します。詳細については、 Understanding Caller's Rights and Owner's Rights Stored Procedures をご参照ください。
システムタグの代替値を適用する場合は、 ALTER TABLE ... MODIFY COLUMN ...SET TAG ステートメントを使用してタグ値を更新します。
列から分類システムタグを設定解除するには、 ALTER TABLE ... MODIFY COLUMN ... UNSET TAG ステートメントを使用します。
例¶
スキーマ内のテーブルの分類をステージします。
CALL SYSTEM$CLASSIFY_SCHEMA('hr.tables', null);
スキーマ内のテーブルの分類をステージし、サンプルする行数を指定します。
CALL SYSTEM$CLASSIFY_SCHEMA('hr.tables.empl_info', {'sample_count': 1000});
スキーマ内のテーブルの分類をステージし、列にシステムタグを設定します。
CALL SYSTEM$CLASSIFY_SCHEMA('hr.tables.empl_info', {'auto_tag': true});
スキーマ内のテーブルの分類をステージし、サンプルする行数を指定し、テーブルの各列に推奨システムタグを設定します。
CALL SYSTEM$CLASSIFY_SCHEMA('hr.tables.empl_info', {'sample_count': 1000, 'auto_tag': true});