SYSTEM$CLASSIFY¶
Classifica o objeto especificado com a opção de especificar o número de linhas para amostra e atribuir a tag do sistema de classificação de dados recomendada a cada coluna no objeto especificado.
Sintaxe¶
CALL SYSTEM$CLASSIFY( '<object_name>' , <arg> )
Argumentos¶
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 estiverem 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.
arg
Especifica um argumento para determinar como funciona o processo de classificação. Um dos seguintes:
NULL
Snowflake usa sua configuração padrão com base no número de linhas do objeto especificado. As tags do sistema não são definidas em nenhuma coluna do objeto especificado.
{}
Uma lista vazia, que é funcionalmente equivalente à especificação de
NULL
.{'sample_count': integer}
Especifica o número de linhas a serem amostradas no objeto especificado. Qualquer número de
1
a10000
, inclusive.{'auto_tag': true}
Define as tags do sistema de classificação recomendadas nas colunas do objeto especificado quando o processo de classificação for concluído.
Ao usar esse argumento, chame o procedimento armazenado com a função que possui o privilégio OWNERSHIP no esquema.
{'sample_count': integer, 'auto_tag': true}
Classifique o objeto especificado enquanto especifica o número de linhas para amostra e defina a tag do sistema recomendada em cada coluna do objeto especificado quando o processo de classificação for concluído.
Ao usar esse argumento, chame o procedimento armazenado com a função que possui o privilégio OWNERSHIP no esquema.
{'use_all_custom_classifiers': true}
Snowflake avalia todas as instâncias de classificação personalizada e recomenda a tag associada a uma instância de classificação personalizada com base no resultado da classificação.
Esta opção utiliza os classificadores personalizados acessíveis à função em uso que chama o procedimento armazenado (função atual, direitos do chamador). Para obter mais detalhes, consulte Understanding Caller’s Rights and Owner’s Rights Stored Procedures.
{'custom_classifiers': ['instance_name1' [ , 'instance_name2' ... ] ]}
Especifica a instância de classificação personalizada a ser avaliada como origem da tag recomendada a ser definida na coluna.
Você pode especificar diversas instâncias na lista e separar cada instância com uma vírgula.
Retornos¶
Retorna um objeto JSON no seguinte formato. Por exemplo:
{
"classification_result": {
"col1_name": {
"alternates": [],
"recommendation": {
"confidence": "HIGH",
"coverage": 1,
"details": [
{
"coverage": 1,
"semantic_category": "US_PASSPORT"
}
],
"privacy_category": "IDENTIFIER",
"semantic_category": "PASSPORT"
},
"valid_value_ratio": 1
},
"col2_name": { ... },
...
}
}
Onde:
alternates
Especifica informações sobre cada tag e valor a ser considerado diferente da tag recomendada.
recommendation
Especifica informações sobre cada tag e valor como a escolha principal com base no processo de classificação.
Esses valores podem aparecer tanto nas alternativas quanto na recomendação:
classifier_name
O nome completo da instância de classificação personalizada que foi usada para marcar a coluna classificada.
Este campo só aparece ao usar uma instância de classificação personalizada como origem da tag a ser definida em uma coluna.
confidence
Especifica um dos seguintes valores:
HIGH
,MEDIUM
ouLOW
. 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 se referem ao valor da tag geográfico para a tag SEMANTIC_CATEGORY.
privacy_category
Especifica o valor da tag da categoria de privacidade.
Os valores possíveis são
IDENTIFIER
,QUASI-IDENTIFIER
eSENSITIVE
.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 de sistema e categorias.
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.
Notas de uso¶
Os procedimentos armazenados definidos globalmente utilizam os direitos de quem chama. Para obter mais detalhes, consulte Understanding Caller’s Rights and Owner’s Rights Stored Procedures.
Se você quiser aplicar valores alternativos de tag do sistema, use uma instrução ALTER TABLE … MODIFY COLUMN … SET TAG para atualizar o valor da tag.
Para remover uma tag do sistema de classificação de uma coluna, use uma instrução ALTER TABLE … MODIFY COLUMN … UNSET TAG.
Exemplos¶
Classifique uma tabela:
CALL SYSTEM$CLASSIFY('hr.tables.empl_info', null);
Classifique uma tabela e especifique o número de linhas para amostragem:
CALL SYSTEM$CLASSIFY('hr.tables.empl_info', {'sample_count': 1000});
Classifique uma tabela e defina as tags do sistema para as colunas:
CALL SYSTEM$CLASSIFY('hr.tables.empl_info', {'auto_tag': true});
Classifique uma tabela e especifique o número de linhas para amostragem e defina a tag de sistema recomendada para cada coluna da tabela:
CALL SYSTEM$CLASSIFY('hr.tables.empl_info', {'sample_count': 1000, 'auto_tag': true});