

# Geração automática de estatísticas de colunas
<a name="auto-column-stats-generation"></a>

A geração automática de estatísticas de colunas permite a você agendar e calcular automaticamente estatísticas em novas tabelas no AWS Glue Data Catalog. Quando a geração automática de estatísticas é habilitada, o Catálogo de Dados descobre novas tabelas com formatos de dados específicos, como Parquet, JSON, CSV, XML, ORC, ION e Apache Iceberg, junto com seus caminhos de bucket individuais. Com uma configuração única de catálogo, o Catálogo de Dados gera estatísticas para essas tabelas.

 Os administradores do Data Lake podem configurar a geração de estatísticas selecionando o catálogo padrão no console do Lake Formation e habilitando as estatísticas da tabela usando a opção `Optimization configuration`. Quando você cria novas tabelas ou atualiza tabelas existentes no Catálogo de Dados, o Catálogo de Dados coleta semanalmente o número de valores distintos (NDVs) das tabelas do Apache Iceberg e estatísticas adicionais, como o número de nulos, tamanho máximo, mínimo e médio de outros formatos de arquivo compatíveis. 

Se você configurou a geração de estatísticas no nível da tabela ou se já excluiu as configurações de geração de estatísticas de uma tabela, essas configurações específicas da tabela têm precedência sobre as configurações padrão do catálogo para a geração automática de estatísticas de coluna.

 A tarefa de geração automática de estatísticas analisa 50% dos registros nas tabelas para calcular estatísticas. A geração automática de estatísticas de colunas garante que o Catálogo de dados mantenha as métricas semanais que podem ser usadas por mecanismos de consulta como Amazon Athena e Amazon Redshift Spectrum para melhorar a performance das consultas e reduzir custos potenciais. Isso permite programar a geração de estatísticas usando APIs ou o console do AWS Glue, fornecendo um processo automatizado sem intervenção manual. 

**Topics**
+ [Habilitar a geração automática de estatísticas em nível de catálogo](enable-auto-column-stats-generation.md)
+ [Visualizar configurações em nível de tabela automatizadas](view-auto-column-stats-settings.md)
+ [Desabilitar a geração de estatísticas de colunas em nível de catálogo](disable-auto-column-stats-generation.md)

# Habilitar a geração automática de estatísticas em nível de catálogo
<a name="enable-auto-column-stats-generation"></a>

É possível habilitar a geração automática de estatísticas de colunas para todas as novas tabelas do Apache Iceberg e tabelas em formatos não OTF (Parquet, JSON, CSV, XML, ORC, ION) no Catálogo de Dados. Depois de criar a tabela, você também poderá atualizar explicitamente as configurações de estatísticas de coluna manualmente.

 Para atualizar as configurações do Catálogo de Dados para habilitar o nível do catálogo, o perfil do IAM usado deve ter a permissão `glue:UpdateCatalog` ou a permissão `ALTER CATALOG` do AWS Lake Formation no catálogo raiz. É possível usar a API `GetCatalog` para verificar as propriedades do catálogo. 

------
#### [ Console de gerenciamento da AWS ]

**Para habilitar a geração automática de estatísticas de colunas no nível da conta**

1. Abra o console do Lake Formation em [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. No painel de navegação à esquerda, escolha **Catálogos)**.

1. Na página **Resumo do catálogo**, escolha **Editar** em **Configuração da otimização**.   
![\[A captura de tela mostra as opções disponíveis para gerar estatísticas da coluna.\]](http://docs.aws.amazon.com/pt_br/glue/latest/dg/images/edit-column-stats-auto.png)

1. Na página **Configuração da otimização de tabelas**, escolha a opção **Habilitar geração automática de estatísticas para as tabelas do catálogo**.  
![\[A captura de tela mostra as opções disponíveis para gerar estatísticas da coluna.\]](http://docs.aws.amazon.com/pt_br/glue/latest/dg/images/edit-optimization-option.jpg)

1. Escolha um perfil do IAM existente ou crie um novo com as permissões necessárias para executar a tarefa de estatísticas de coluna.

1. Selecione **Enviar**.

------
#### [ AWS CLI ]

Você também pode habilitar a coleta de estatísticas em nível de catálogo via AWS CLI. Para configurar a coleta de estatísticas em nível de tabela usando a AWS CLI, execute o seguinte comando:

```
aws glue update-catalog --cli-input-json '{
    "name": "123456789012",
    "catalogInput": {
        "description": "Updating root catalog with role arn",
        "catalogProperties": {
            "customProperties": {
                "ColumnStatistics.RoleArn": "arn:aws:iam::"123456789012":role/service-role/AWSGlueServiceRole",
                "ColumnStatistics.Enabled": "true"
            }
        }
    }
}'
```

 O comando acima chama a operação `UpdateCatalog` do AWS Glue, que usa uma estrutura `CatalogProperties` com os seguintes pares de chave-valor para geração de estatísticas em nível de catálogo: 
+ ColumnStatistics.RoleArn: ARN do perfil do IAM a ser usado para todas as tarefas acionadas para geração de estatísticas em nível de catálogo
+ ColumnStatistics.Enabled: booleano que indica se as configurações em nível de catálogo estão habilitadas ou desabilitadas

------

# Visualizar configurações em nível de tabela automatizadas
<a name="view-auto-column-stats-settings"></a>

 Quando a coleta de estatísticas em nível de catálogo está habilitada, sempre que uma tabela do Apache Hive ou uma tabela do Apache Iceberg é criada ou atualizada por meio das APIs `CreateTable` ou `UpdateTable` via Console de gerenciamento da AWS, SDK ou Crawler do AWS Glue, uma configuração em nível de tabela equivalente é criada para essa tabela. 

 As tabelas com a geração automática de estatísticas habilitada devem seguir uma das seguintes propriedades:
+ Usar um `InputSerdeLibrary` que comece com org.apache.hadoop e em que `TableType` seja igual a `EXTERNAL_TABLE`
+ Usar um `InputSerdeLibrary` que comece com `com.amazon.ion` e em que `TableType` seja igual a `EXTERNAL_TABLE`
+ Conter table\$1type: "ICEBERG" em sua estrutura de parâmetros. 

 Após criar ou atualizar uma tabela, você poderá verificar os detalhes da tabela para confirmar a geração de estatísticas. `Statistics generation summary` mostra a propriedade `Schedule` definida como `AUTO` e o valor de `Statistics configuration` é `Inherited from catalog`. Qualquer configuração de tabela com a configuração a seguir seria acionada automaticamente pelo Glue internamente. 

![\[Uma imagem de uma tabela do Hive com coleta de estatísticas em nível de catálogo foi aplicada e as estatísticas foram coletadas.\]](http://docs.aws.amazon.com/pt_br/glue/latest/dg/images/auto-stats-summary.png)


# Desabilitar a geração de estatísticas de colunas em nível de catálogo
<a name="disable-auto-column-stats-generation"></a>

 É possível desabilitar a geração automática de estatísticas de colunas para novas tabelas usando o console do AWS Lake Formation, a API `glue:UpdateCatalogSettings` ou a API `glue:DeleteColumnStatisticsTaskSettings`. 

**Para desabilitar a geração automática de estatísticas de colunas no nível da conta**

1. Abra o console do Lake Formation em [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. No painel de navegação à esquerda, escolha **Catálogos)**.

1. Na página **Resumo do catálogo**, escolha **Editar** em **Configuração da otimização**. 

1. Na página **Configuração da otimização de tabelas**, desmarque a opção **Habilitar geração automática de estatísticas para as tabelas do catálogo**.

1. Selecione **Enviar**.