SYSTEM$CLASSIFY_SCHEMA

Agenda as tabelas no esquema especificado para serem classificadas, com a opção de especificar o número de linhas a serem amostradas em cada tabela e atribuir a tag do sistema de classificação de dados recomendada a cada coluna nas tabelas armazenadas no esquema especificado.

Depois que o procedimento armazenado concluir sua execução, você deverá terminar de classificar as tabelas usando SQL ou Snowsight conforme mostrado em Uso da classificação de dados.

Sintaxe

SYSTEM$CLASSIFY_SCHEMA( '<object_name>' , <object> )
Copy

Argumentos

schema_name

O nome do esquema que contém as tabelas 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.

object

Especifica um OBJECT JSON para determinar como o processo de classificação funciona. Um dos seguintes:

NULL

O 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 1 a 10000, 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 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

O procedimento armazenado retorna um objeto JSON no formato a seguir. Por exemplo:

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

Onde:

failed

Especifica uma mensagem que fornece um motivo pelo qual a tabela não foi planejada para ser classificada.

succeeded

Especifica cada tabela agendada para classificação de dados.

Notas de uso

  • O nome do esquema especificado pode conter até 1.000 objetos de tabela. Se o esquema contiver mais de 1.000 objetos de tabela, o Snowflake retornará uma mensagem de erro.

  • 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.

Cuidado

Quando você chama esse procedimento armazenado, o processo de classificação para cada tabela no esquema é executado em paralelo e consome recursos do warehouse. Se você chamar esse procedimento armazenado muitas vezes em um curto período para classificar tabelas em esquemas simultaneamente, esses processos também serão executados em paralelo. Muitos processos de classificação paralelos podem exceder a capacidade do warehouse, o que faz com que o processo de classificação de algumas tabelas falhe. Consequentemente, um esquema pode ter algumas de suas tabelas classificadas e outras não.

Antes de chamar SYSTEM$CLASSIFY_SCHEMA, avalie o número de colunas em cada tabela, o número de tabelas em um esquema, o número de esquemas que você deseja classificar e o tamanho do warehouse que está em uso para a sessão. Para recomendações de tamanho de warehouse, consulte Custos computacionais.

Exemplos

Prepare a classificação das tabelas no esquema:

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

Prepare a classificação das tabelas no esquema e especifique o número de linhas para amostragem:

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

Prepare a classificação das tabelas no esquema e defina as tags do sistema para as colunas:

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

Prepare a classificação das tabelas no esquema, especifique o número de linhas para amostragem e defina a tag de sistema recomendada para cada coluna da tabela:

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