SYSTEM$CLASSIFY

对指定对象进行分类,使用指定抽样行数的选项,并将建议的敏感 Data Classification 系统标签 分配到指定对象中的每一列。

语法

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

提供隐私类别标签值。

可能的值为 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
语言: 中文