SYSTEM$CLASSIFY_SCHEMA

对指定架构中要分类的表进行暂存,可以指定要在每个表中抽样的行数,并为指定架构中存储的表内的每一列分配推荐的 Data Classification 系统标签

存储过程执行完毕后,必须使用 SQL 或 Snowsight 完成对表的分类,如 使用 Data Classification 中所示。

语法

CALL SYSTEM$CLASSIFY_SCHEMA( '<object_name>' , <arg> )
Copy

实参

object_name

包含待分类表的架构的名称。如果当前会话中未使用数据库和架构,则名称必须完全限定。

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

arg

指定一个实参,以确定分类过程的运作方式。以下其中一项:

NULL

Snowflake 基于指定对象中的行数使用其默认配置。未在指定对象的任何列上设置系统标签。

{}

一个空列表,在功能上等同于指定 NULL

{'sample_count': integer}

指定要在指定对象中抽样的行数。从 110000 (包括两个极限值)的任意数字。

{'auto_tag': true}

分类过程完成后,在指定对象的列上设置推荐的分类系统标签。

使用此实参时,使用对该架构具有 OWNERSHIP 权限的角色调用存储过程。

{'sample_count': integer, 'auto_tag': true}

对指定对象进行分类,同时指定要抽样的行数,并在分类过程完成后,在指定对象的每列上设置推荐的系统标签。

使用此实参时,使用对该架构具有 OWNERSHIP 权限的角色调用存储过程。

{'use_all_custom_classifiers': true}

Snowflake 会评估所有自定义分类实例,并根据分类结果推荐与自定义分类实例关联的标签。

此选项使用当前处于使用中状态且调用存储过程的角色(当前角色、调用方权限)可访问的自定义分类器。有关详细信息,请参阅 了解调用方权限和所有者权限存储过程

{'custom_classifiers': ['instance_name1' [ , 'instance_name2' ... ] ]}

指定要评估的自定义分类实例,作为要在列上设置的推荐标签的来源。

您可以在列表中指定多个实例,并用逗号分隔每个实例。

返回

存储过程会使用以下格式返回 JSON 对象。例如:

{
  "failed": [
    {
      "message": "Insufficient privileges.",
      "table_name": "t4"
    }
  ],
  "succeeded": [
    {
      "table_name": "t1"
    },
    {
      "table_name": "t2"
    },
    {
      "table_name": "t3"
    }
  ]
}
Copy

其中:

failed

指定一条消息,说明未计划对该表进行分类的原因。

succeeded

指定为 Data Classification 而暂存的每个表。

使用说明

  • 指定的架构名称可包含最多 1000 个表对象。如果架构包含的表对象超过 1000 个,则 Snowflake 会返回一条错误消息。

  • 全局定义的存储过程使用调用方的权限。有关更多详细信息,请参阅 了解调用方权限和所有者权限存储过程

  • 如果要应用备用系统标签值,请使用 ALTER TABLE ...MODIFY COLUMN ...SET TAG 语句来更新标签值。

  • 要从列中取消设置分类系统标签,请使用 ALTER TABLE ...MODIFY COLUMN ...UNSET TAG 语句从外部表的元数据中删除较旧的暂存文件。

示例

对架构表的分类进行暂存:

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

对架构表的分类进行暂存,并指定要抽样的行数:

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

对架构表的分类进行暂存,并为列设置系统标签:

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

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

CALL SYSTEM$CLASSIFY_SCHEMA('hr.tables.empl_info', {'sample_count': 1000, 'auto_tag': true});
Copy
语言: 中文