SYSTEM$CLASSIFY¶
Classifica o objeto especificado com a opção de especificar o número de linhas para fazer amostragem e atribuir a tag de classificação recomendada a cada coluna no objeto especificado.
Sintaxe¶
SYSTEM$CLASSIFY( '<object_name>' ,
{ '<classification_profile>' | <options> } )
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.
'classification_profile'Especifica um perfil de classificação para classificar com base nos critérios especificados no perfil.
optionsEspecifica um OBJECT JSON que determina como o processo de classificação funciona. Um dos seguintes:
NULLO Snowflake usa sua configuração padrão com base no número de linhas no objeto especificado. As tags do sistema não são definidas em nenhuma coluna do objeto especificado.
{}Um objeto vazio, que é funcionalmente equivalente a especificar
NULL.{'sample_count': integer}Especifica o número de linhas a serem amostradas no objeto especificado. Qualquer número de
1a10000, 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 informações, consulte Procedimentos armazenados com direitos do chamador e direitos do proprietário.
{'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_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
}
}
}
Campos possíveis:
classification_profile_configSe a classificação automática estiver configurada, contém o nome totalmente qualificado do perfil de configuração que foi usado para gerar os resultados da classificação.
classification_resultFornece detalhes sobre cada coluna que foi classificada.
object_path_resultsQuando uma coluna contém dados semiestruturados com campos confidenciais, a chave
object_path_resultslista os campos que foram classificados em uma categoria semântica nativa ou personalizada. Para obter mais informações, consulte Resultados para colunas JSON.alternatesFornece informações sobre cada tag e valores a serem considerados além da tag recomendada.
recommendationFornece 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_nameO 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.
confidenceFornece um dos seguintes valores:
HIGH,MEDIUMouLOW. 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.coverageFornece a porcentagem de valores de células amostradas que correspondem às regras de uma determinada categoria.
detailsApresenta campos e valores relacionados à classificação específica da geografia. O campo
semantic_categorycontém a subcategoria semântica de uma localidade.privacy_categoryFornece a categoria de privacidade.
Os valores possíveis são
IDENTIFIER,QUASI-IDENTIFIEReSENSITIVE.semantic_categoryFornece a categoria semântica. Para obter uma lista de categorias semânticas nativas, consulte Categorias semânticas nativas da classificação de dados confidenciais.
Se o valor for
MULTIPLE, os dados confidenciais foram encontrados nos dados semiestruturados. Inspecione o campoobject_path_resultsdo objeto de resultados para ver uma discriminação detalhada de quais categorias semânticas nativas e personalizadas foram encontradas durante a classificação. Para obter mais informações, consulte Resultados para colunas JSON.tagsFornece informações sobre as tags que foram aplicadas à coluna como resultado do processo de classificação.
valid_value_ratioMostra a proporção de quantos valores no tamanho da amostra são válidos.
Para dados estruturados, os valores inválidos incluem NULL, uma cadeia de caracteres vazia e uma cadeia de caracteres com mais de 256 caracteres.
Para dados semiestruturados, os valores inválidos incluem NULL e uma cadeia de caracteres vazia.
Notas de uso¶
Os procedimentos armazenados fornecidos pelo Snowflake utilizam os direitos do chamador. Para obter mais detalhes, consulte Procedimentos armazenados com direitos do chamador e direitos do proprietário.
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});
Classifique uma tabela com base nos critérios especificados no perfil de classificação my_config_profile:
CALL SYSTEM$CLASSIFY('hr.tables.empl_info, 'my_config_profile');