カテゴリ:

システム関数

EXTRACT_SEMANTIC_CATEGORIES

指定されたテーブルまたはビューでサポートされている各列のカテゴリのセット(セマンティックおよびプライバシー)を返します。列のカテゴリを返すには、列で分類をサポートする データ型 を使用し、列にすべての NULL 値が含まれていない必要があります。

カテゴリは、列に含まれるメタデータとデータ、および列とデータに関するメタデータから派生します。プライバシーカテゴリは、生成されたセマンティックカテゴリ(存在する場合)に依存します。

こちらもご参照ください。

システムタグおよびカテゴリ および システムタグおよびカテゴリ

構文

EXTRACT_SEMANTIC_CATEGORIES( '<object_name>' [ , <max_rows_to_scan> ] )
Copy

引数

必須:

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
        }
      ]
    }
  ]
}
Copy

条件:

valid_value_ratio

サンプルサイズにおける有効な値の比率を指定します。無効な値には、 NULL、空の文字列、256文字を超える文字列などがあります。

recommendation

各タグと値に関する情報を指定します。この情報には以下が含まれます。

semantic_category

セマンティックカテゴリタグの値を指定します。

可能なタグの値については、 システムタグおよびカテゴリ および システムタグおよびカテゴリ をご参照ください。

privacy_category

プライバシーカテゴリタグの値を指定します。

可能な値は、 IDENTIFIERQUASI-IDENTIFIER、および SENSITIVE です。

confidence

この列は、 HIGHMEDIUM、または LOW のいずれかの値を指定します。この値は、列のサンプリングプロセスと、列のデータとSnowflakeがデータを分類する方法の整合性に基づいて、Snowflakeが持つ相対的な信頼性を示します。

coverage

特定のカテゴリのルールに一致する、サンプリングされたセル値のパーセントを指定します。

details

SEMANTIC_CATEGORY タグに地理タグ値を指定できるフィールドと値を指定します。

alternates

推奨タグ以外の考慮すべき各タグと値に関する情報を指定します。

使用上の注意

スキャンする行数のデフォルト(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');
Copy

前の例と同じですが、テーブル内の5000行のみをスキャンするように制限されています。

USE ROLE data_engineer;

SELECT EXTRACT_SEMANTIC_CATEGORIES('my_db.my_schema.hr_data', 5000);
Copy

最初の例と同じですが、結果をテーブルに保存します。

USE ROLE data_engineer;

CREATE OR REPLACE TABLE classification_results(v VARIANT) AS
  SELECT EXTRACT_SEMANTIC_CATEGORIES('my_db.my_schema.hr_data');
Copy

結果がテーブルに保存されたら、 ASSOCIATE_SEMANTIC_CATEGORY_TAGS を使用して適用する前に結果を修正できます。