类别:

系统函数

EXTRACT_SEMANTIC_CATEGORIES

返回指定表或视图中每个支持的列的一组类别(语义和隐私)。要返回列的类别,该列必须使用支持分类且不包含所有 NULL 值的 数据类型

这些类别来自列中包含的元数据和数据,以及有关列和数据的元数据。隐私类别依赖于生成的语义类别(如果有的话)。

另请参阅:

系统标签和类别系统标签和类别

语法

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

实参

必填:

object_name

包含待分类列的表、外部表、视图或物化视图的名称。如果当前会话中未使用数据库和架构,则名称必须完全限定。

名称必须与数据库中存储的名称完全相同。如果名称包含特殊字符、大写字母或空格,则名称必须先用双引号括起来,然后再放在单引号内。

可选:

max_rows_to_scan

用于确定指定表/视图中分类类别的行样本大小。

有效值:110000

默认: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-IDENTIFIERSENSITIVE

confidence

指定以下值之一:HIGHMEDIUMLOW。该值表示 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 应用结果之前对其进行修改。

语言: 中文