- カテゴリ:
EXTRACT_SEMANTIC_CATEGORIES¶
指定されたテーブルまたはビューでサポートされている各列のカテゴリのセット(セマンティックおよびプライバシー)を返します。列のカテゴリを返すには、列で分類をサポートする データ型 を使用し、列にすべての NULL 値が含まれていない必要があります。
カテゴリは、列に含まれるメタデータとデータ、および列とデータに関するメタデータから派生します。プライバシーカテゴリは、生成されたセマンティックカテゴリ(存在する場合)に依存します。
- こちらもご参照ください。
構文¶
EXTRACT_SEMANTIC_CATEGORIES( '<object_name>' [ , <max_rows_to_scan> ] )
引数¶
必須:
object_name
分類される列を含むテーブル、外部テーブル、ビュー、またはマテリアライズドビューの名前。データベースとスキーマが現在のセッションで使用されていない場合は、名前を完全修飾する必要があります。
名前は、データベースに保存されているとおりに正確に指定する必要があります。名前に特殊文字、大文字小文字の区別、または空白スペースが含まれている場合は、名前を最初に二重引用符で囲み、次に一重引用符で囲む必要があります。
オプション:
max_rows_to_scan
指定されたテーブル/ビューの分類カテゴリを決定するために使用する行のサンプルサイズ。
有効値:
1
から10000
デフォルト:
10000
戻り値¶
代表例としての JSON オブジェクトの構造は次のとおりです。
{
"valid_value_ratio": 1.0,
"recommendation": {
"semantic_category": "PASSPORT",
"privacy_category": "IDENTIFIER",
"confidence": "HIGH",
"coverage": 0.7,
"details": [
{
"semantic_category": "US_PASSPORT",
"coverage": 0.7
},
{
"semantic_category": "CA_PASSPORT",
"coverage": 0.1
}
]
},
"alternates": [
{
"semantic_category": "NATIONAL_IDENTIFIER",
"privacy_category": "IDENTIFIER",
"confidence": "LOW",
"coverage": 0.3,
"details": [
{
"semantic_category": "US_SSN",
"privacy_category": "IDENTIFIER",
"coverage": 0.3
}
]
}
]
}
条件:
valid_value_ratio
サンプルサイズにおける有効な値の比率を指定します。無効な値には、 NULL、空の文字列、256文字を超える文字列などがあります。
recommendation
各タグと値に関する情報を指定します。この情報には以下が含まれます。
semantic_category
セマンティックカテゴリタグの値を指定します。
可能なタグの値については、 システムタグおよびカテゴリ および システムタグおよびカテゴリ をご参照ください。
privacy_category
プライバシーカテゴリタグの値を指定します。
可能な値は、
IDENTIFIER
、QUASI-IDENTIFIER
、およびSENSITIVE
です。confidence
この列は、
HIGH
、MEDIUM
、またはLOW
のいずれかの値を指定します。この値は、列のサンプリングプロセスと、列のデータとSnowflakeがデータを分類する方法の整合性に基づいて、Snowflakeが持つ相対的な信頼性を示します。coverage
特定のカテゴリのルールに一致する、サンプリングされたセル値のパーセントを指定します。
details
SEMANTIC_CATEGORY タグに地理タグ値を指定できるフィールドと値を指定します。
alternates
推奨タグ以外の考慮すべき各タグと値に関する情報を指定します。
使用上の注意¶
関数には、稼働中のウェアハウスが必要ですウェアハウスはパフォーマンスとコストに影響を与えます。詳細については、 分類コンピューティングコスト のセクションをご参照ください。
この関数は、 データ分類 の機能強化追加に合わせて更新されなくなりました。
この関数は、 従来の APIs でデータ分類を使用する で示すように引き続き使用できます。
ただし、 データ分類を使用する で示すように、ワークフローを更新することを計画してください。
例¶
スキャンする行数のデフォルト(10000
)を使用して、 my_db.my_schema.hr_data
テーブルのセマンティックカテゴリとプライバシーカテゴリを抽出します。
USE ROLE data_engineer; USE WAREHOUSE classification_wh; SELECT EXTRACT_SEMANTIC_CATEGORIES('my_db.my_schema.hr_data');
前の例と同じですが、テーブル内の5000行のみをスキャンするように制限されています。
USE ROLE data_engineer; SELECT EXTRACT_SEMANTIC_CATEGORIES('my_db.my_schema.hr_data', 5000);
最初の例と同じですが、結果をテーブルに保存します。
USE ROLE data_engineer; CREATE OR REPLACE TABLE classification_results(v VARIANT) AS SELECT EXTRACT_SEMANTIC_CATEGORIES('my_db.my_schema.hr_data');結果がテーブルに保存されたら、 ASSOCIATE_SEMANTIC_CATEGORY_TAGS を使用して適用する前に結果を修正できます。