SYSTEM$CLASSIFY

Classifies the specified object with the option to specify the number of rows to sample and assign the recommended classification tag to each column in the specified object.

语法

SYSTEM$CLASSIFY( '<object_name>' ,
  { '<classification_profile>' | <options> } )
Copy

实参

'object_name'

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

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

'classification_profile'

指定 分类配置文件,以便根据配置文件中指定的标准进行分类。

options

指定一个 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_profile_config": {
    "classification_profile_name": "db1.sch.sensitive_data_detection_profile"
  },
  "classification_result": {
    "col1_name": {
      "alternates": [],
      "recommendation": {
        "confidence": "HIGH",
        "coverage": 1,
        "details": [],
        "privacy_category": "QUASI_IDENTIFIER",
        "semantic_category": "DATE_OF_BIRTH",
        "tags": [
          {
            "tag_applied": true,
            "tag_name": "snowflake.core.semantic_category",
            "tag_value": "DATE_OF_BIRTH"
          },
          {
            "tag_applied": true,
            "tag_name": "snowflake.core.privacy_category",
            "tag_value": "QUASI_IDENTIFIER"
          }
        ]
      },
      "valid_value_ratio": 1
    }
  }
}
Copy

其中:

classification_profile_config

如果配置了自动分类,则该配置文件将包含用于生成分类结果的配置文件的完整限定名称。

classification_result

提供有关已分类的每个列的详细信息。

alternates

指定除推荐标签之外要考虑的每个标签和值的信息。

recommendation

提供分类过程中作为主要选择的每个标签和值的信息。

这些值可以同时显示在备用值和建议值中:

classifier_name

用于为分类列添加标签的自定义分类实例的完全限定名称。

仅在使用自定义分类实例作为要在列上设置的标签的来源时,才会显示此字段。

confidence

提供以下值之一:HIGHMEDIUMLOW。该值表示 Snowflake 根据列采样过程以及列数据与 Snowflake 数据分类方式的一致性而得出的相对置信度。

coverage

提供与特定类别的规则匹配的采样单元格值的百分比。

details

提供与特定地理分类相关的字段和值。semantic_category 字段包含区域设置的 语义子类别

privacy_category

Provides the privacy category.

可能的值为 IDENTIFIERQUASI-IDENTIFIERSENSITIVE

semantic_category

提供语义类别。有关原生语义类别的列表,请参阅 敏感数据分类的原生语义类别

tags

提供分类过程中应用于列的标签信息。

valid_value_ratio

提供样本数量中有效值的比率。无效值包括 NULL、空字符串和字符数超过 256 个的字符串。

使用说明

示例

对表进行分类:

CALL SYSTEM$CLASSIFY('hr.tables.empl_info', null);
Copy

对表进行分类并指定要抽样的行数:

CALL SYSTEM$CLASSIFY('hr.tables.empl_info', {'sample_count': 1000});
Copy

对表进行分类,并为以下列设置系统标签:

CALL SYSTEM$CLASSIFY('hr.tables.empl_info', {'auto_tag': true});
Copy

对表进行分类,并指定要抽样的行数,并为表中的每一列设置推荐的系统标签:

CALL SYSTEM$CLASSIFY('hr.tables.empl_info', {'sample_count': 1000, 'auto_tag': true});
Copy

根据 my_config_profile 分类文件中指定的标准对表进行分类:

CALL SYSTEM$CLASSIFY('hr.tables.empl_info, 'my_config_profile');
Copy
语言: 中文