SYSTEM$CLASSIFY¶
指定されたオブジェクトを分類します。オプションで、サンプルする行数を指定し、指定されたオブジェクトの各列に推奨データ分類 システムタグ を割り当てます。
構文¶
SYSTEM$CLASSIFY( '<object_name>' , <object> )
引数¶
object_name
分類される列を含むテーブル、外部テーブル、ビュー、またはマテリアライズドビューの名前。データベースとスキーマが現在のセッションで使用されていない場合は、名前を完全修飾する必要があります。
名前は、データベースに保存されているとおりに正確に指定する必要があります。名前に特殊文字、大文字小文字の区別、または空白スペースが含まれている場合は、名前を最初に二重引用符で囲み、次に一重引用符で囲む必要があります。
object
分類プロセスがどのように動作するかを決定するための JSON OBJECT を指定します。次のいずれかを使用します。
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はすべてのカスタム分類インスタンスを評価し、分類結果に基づいてカスタム分類インスタンスに関連付けられたタグを推奨します。
このオプションは、ストアドプロシージャを呼び出す使用中のロール(現在のロール、呼び出し元の権限)にアクセス可能なカスタム分類子を使用します。詳細については、 呼び出し元権限と所有者権限のストアドプロシージャについて をご参照ください。
{'custom_classifiers': ['instance_name1' [ , 'instance_name2' ... ] ]}
列に設定する推奨タグのソースとして評価する、カスタム分類インスタンスを指定します。
リストに複数のインスタンスを指定し、各インスタンスをコンマで区切ることができます。
戻り値¶
以下の形式で JSON オブジェクトを返します。例:
{
"classification_result": {
"col1_name": {
"alternates": [],
"recommendation": {
"confidence": "HIGH",
"coverage": 1,
"details": [
{
"coverage": 1,
"semantic_category": "US_PASSPORT"
}
],
"privacy_category": "IDENTIFIER",
"semantic_category": "PASSPORT"
},
"valid_value_ratio": 1
},
"col2_name": { ... },
...
}
}
条件:
alternates
推奨タグ以外の考慮すべき各タグと値に関する情報を指定します。
recommendation
各タグと値に関する情報を、分類プロセスに基づく主要な選択肢として指定します。
これらの値は、代替と推薦の両方に表示することができます。
classifier_name
分類された列にタグを付けるために使用されたカスタム分類インスタンスの完全修飾名。
このフィールドは、列に設定するタグのソースとしてカスタム分類インスタンスを使用する場合にのみ表示されます。
confidence
この列は、
HIGH
、MEDIUM
、またはLOW
のいずれかの値を指定します。この値は、列のサンプリングプロセスと、列のデータとSnowflakeがデータを分類する方法の整合性に基づいて、Snowflakeが持つ相対的な信頼性を示します。coverage
特定のカテゴリのルールに一致する、サンプリングされたセル値のパーセントを指定します。
details
SEMANTIC_CATEGORY タグに 地理タグ値 を参照するフィールドと値を指定します。
privacy_category
プライバシーカテゴリタグの値を指定します。
可能な値は、
IDENTIFIER
、QUASI-IDENTIFIER
、およびSENSITIVE
です。semantic_category
セマンティックカテゴリタグの値を指定します。
可能なタグの値については、 システムタグおよびカテゴリ および システムタグおよびカテゴリ をご参照ください。
valid_value_ratio
サンプルサイズにおける有効な値の比率を指定します。無効な値には、 NULL、空の文字列、256文字を超える文字列などがあります。
使用上の注意¶
Snowflakeのストアドプロシージャは呼び出し元の権限を利用します。詳細については、 呼び出し元権限と所有者権限のストアドプロシージャについて をご参照ください。
システムタグの代替値を適用する場合は、 ALTER TABLE ... MODIFY COLUMN ...SET TAG ステートメントを使用してタグ値を更新します。
列から分類システムタグを設定解除するには、 ALTER TABLE ... MODIFY COLUMN ... UNSET TAG ステートメントを使用します。
例¶
テーブルを分類します。
CALL SYSTEM$CLASSIFY('hr.tables.empl_info', null);
テーブルを分類し、サンプルする行数を指定します。
CALL SYSTEM$CLASSIFY('hr.tables.empl_info', {'sample_count': 1000});
テーブルを分類し、列にシステムタグを設定します。
CALL SYSTEM$CLASSIFY('hr.tables.empl_info', {'auto_tag': true});
テーブルを分類し、サンプルする行数を指定し、テーブルの各列に推奨システムタグを設定します。
CALL SYSTEM$CLASSIFY('hr.tables.empl_info', {'sample_count': 1000, 'auto_tag': true});