Categorias:

Funções do sistema

EXTRACT_SEMANTIC_CATEGORIES

Retorna um conjunto de categorias (semânticas e de privacidade) para cada coluna compatível na tabela ou exibição especificada. Para retornar as categorias para uma coluna, a coluna deve usar um tipo de dados que ofereceça suporte à classificação e não contenha todos os valores NULL.

As categorias são derivadas dos metadados e dados contidos nas colunas, assim como os metadados sobre as colunas e dados. As categorias de privacidade dependem das categorias semânticas geradas, se houver.

Consulte também:

Tags de sistema e categorias e Tags do sistema com valores de tags internacionais

Sintaxe

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

Argumentos

Obrigatório:

object_name

O nome da tabela, tabela externa, exibição ou exibição materializada contendo as colunas a serem classificadas. Se um banco de dados e esquema não estiver em uso na sessão atual, o nome deve ser totalmente qualificado.

O nome deve ser especificado exatamente como está armazenado no banco de dados. Se o nome contiver caracteres especiais, letras maiúsculas ou espaços em branco, o nome deve ser incluído primeiro em aspas duplas e depois em aspas simples.

Opcional:

max_rows_to_scan

O tamanho da amostra de linhas a serem utilizadas para determinar as categorias de classificação na tabela/exibição especificada.

Valores válidos: 1 a 10000

Padrão: 10000

Retornos

Como um exemplo representativo, o objeto JSON tem a seguinte estrutura:

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

Onde:

valid_value_ratio

Especifica a proporção de valores válidos no tamanho da amostra. Valores inválidos incluem NULL, uma cadeia de caracteres vazia e uma cadeia de caracteres com mais de 256 caracteres.

recommendation

Especifica informações sobre cada tag e valor. Estas informações incluem:

semantic_category

Especifica o valor da tag de categoria semântica.

Para possíveis valores de tag, consulte Tags de sistema e categorias e Tags do sistema com valores de tags internacionais.

privacy_category

Especifica o valor da tag da categoria de privacidade.

Os valores possíveis são IDENTIFIER, QUASI-IDENTIFIER e SENSITIVE.

confidence

Especifica um dos seguintes valores: HIGH, MEDIUM ou LOW. Este valor indica a confiança relativa que o Snowflake tem com base no processo de amostragem da coluna e como os dados da coluna se alinham com a forma como o Snowflake classifica os dados.

coverage

Especifica a porcentagem de valores de células de amostra que correspondem às regras de uma categoria específica.

details

Especifica campos e valores que podem especificar um valor de tag geográfica para a tag SEMANTIC_CATEGORY.

alternates

Especifica informações sobre cada tag e valor a ser considerado diferente da tag recomendada.

Notas de uso

A função exige um warehouse em funcionamento. O warehouse pode impactar o desempenho e o custo. Para obter detalhes, consulte a seção sobre custos de computação de classificação.

Exemplos

Extrair as categorias semântica e de privacidade da tabela my_db.my_schema.hr_data usando o padrão (10000) para o número de linhas a serem digitalizadas:

USE ROLE data_engineer;

USE WAREHOUSE classification_wh;

SELECT EXTRACT_SEMANTIC_CATEGORIES('my_db.my_schema.hr_data');
Copy

O mesmo que o exemplo anterior, mas limitado apenas a 5.000 linhas digitalizadas na tabela:

USE ROLE data_engineer;

SELECT EXTRACT_SEMANTIC_CATEGORIES('my_db.my_schema.hr_data', 5000);
Copy

O mesmo que o primeiro exemplo, mas armazena os resultados em uma tabela:

USE ROLE data_engineer;

CREATE OR REPLACE TABLE classification_results(v VARIANT) AS
  SELECT EXTRACT_SEMANTIC_CATEGORIES('my_db.my_schema.hr_data');
Copy

Quando os resultados são armazenados em uma tabela, você pode revisá-los antes de usar ASSOCIATE_SEMANTIC_CATEGORY_TAGS para aplicá-los.