EXTRACT_SEMANTIC_CATEGORIES 函数:国际标签值

注意

此行为变更在 2023_05 捆绑包中。

有关捆绑包的当前状态,请参阅 捆绑包历史记录

EXTRACT_SEMANTIC_CATEGORIES 函数的行为如下:

之前:

函数的输出采用以下形式:

{
    "<col1_name>": {
    "extra_info" : {
        "alternates" : [<semantic_categories>],
        "probability" : "<number>"
    },
    "privacy_category" : "<value>",
    "semantic_category" : "<value>"
    },
...
...
    "<colN_name>": {
    "extra_info" : {
        "alternates" : [<semantic_categories>],
        "probability" : "<number>"
    },
    "privacy_category" : "<value>",
    "semantic_category" : "<value>"
    }
}
Copy

本部分 定义 SNOWFLAKE.CORE.SEMANTIC_CATEGORY 标签的可能值,不指定美国以外的国家/地区的 SEMANTIC_CATEGORY 标签值(即 US_ )。

现在:

该函数的输出格式将有所变更,并且输出将包括对与澳大利亚、加拿大、英国和美国相关的 SEMANTIC_CATEGORY 标签值的支持。为了支持这些国家/地区,标签值对应于某些 父类别组。父类别包含有关分类结果的信息,其中包括列是否主要由某个国家/地区的值组成。

格式变更如下:

  • 移除 extra_infoprobability 字段。

  • alternates 字段移动到输出中的其他位置。

  • 添加以下新字段:

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

    • recommendation 包括有关每个标签和值的信息。

    • confidence 的可能值为 HIGHMEDIUMLOW

    • coverage 指示与特定类别的规则匹配的采样单元格值的百分比。

    • details 包含可以指定 SEMANTIC_CATEGORY 标签的地理标签值的字段和值。

例如:

{
  "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

下表汇总了分类标签、新类别组和组成员以及所支持的国家/地区之间的关系。国家/地区代码基于 ISO-3166-1 alpha-2 (link removed) 标准。其他语义类别(如 EMAIL 和 GENDER)不受影响。

PRIVACY_CATEGORY 标签值

SEMANTIC_CATEGORY 标签值(父组)

组成员

国家/地区代码

IDENTIFIER

BANK_ACCOUNT

CA_BANK_ACCOUNT . US_BANK_ACCOUNT . IBAN

CA . US

ORGANIZATION_IDENTIFIER

AU_BUSINESS_NUMBER . AU_COMPANY_NUMBER

AU

DRIVERS_LICENSE

AU_DRIVERS_LICENSE . CA_DRIVERS_LICENSE . US_DRIVERS_LICENSE

AU . CA . US

MEDICARE_NUMBER

AU_MEDICARE_NUMBER

AU

PASSPORT

AU_PASSPORT . CA_PASSPORT . US_PASSPORT

AU . CA . US

PHONE_NUMBER

AU_PHONE_NUMBER . CA_PHONE_NUMBER . UK_PHONE_NUMBER . US_PHONE_NUMBER

AU . CA . GB . US

STREET_ADDRESS

CA_STREET_ADDRESS . US_STREET_ADDRESS

CA . US

TAX_IDENTIFIER

AU_TAX_NUMBER

AU

NATIONAL_IDENTIFIER

CA_SOCIAL_INSURANCE_NUMBER . UK_NATIONAL_INSURANCE_NUMBER . US_SSN

CA . GB . US

QUASI_IDENTIFIER

CITY

US_CITY . CA_CITY .

US . CA .

POSTAL_CODE

AU_POSTAL_CODE . CA_POSTAL_CODE . UK_POSTAL_CODE . US_POSTAL_CODE

AU . CA . GB . US

ADMINISTRATIVE_AREA_1

CA_PROVINCE_OR_TERRITORY . US_STATE_OR_TERRITORY

CA . US

ADMINISTRATIVE_AREA_2

US_COUNTY

US

数据工程师可以通过在 ALTER TABLEALTER VIEW 语句中手动指定标签值来使用待处理的标签值。或者,数据工程师可以调用 ASSOCIATE_SEMANTIC_CATEGORY_TAGS 存储过程来设置标签。

例如,使用 ALTER TABLE 语句手动设置 PASSPORT 表列的 PASSPORT 标签值。

ALTER TABLE mydb.myschema.mytable
  MODIFY COLUMN passport
  SET TAG SNOWFLAKE.CORE.SEMANTIC_CATEGORY = 'PASSPORT';
Copy

对表、架构中的所有表或数据库中的所有表进行分类的整体 分类过程或 步骤 没有变更。

小技巧

如果将 EXTRACT_SEMANTIC_CATEGORIES 函数作为实参传递给 ASSOCIATE_SEMANTIC_CATEGORY_TAGS 存储过程,请务必仔细检查可能已配置的任何自定义处理,以确保工作流不会因待处理的格式更改而中断。

参考:1110

语言: 中文