

# Gerar estatísticas de colunas sob demanda
<a name="column-stats-on-demand"></a>

É possível executar a tarefa de estatísticas de coluna para tabelas do AWS Glue Data Catalog sob demanda, sem uma programação definida. Essa opção é útil para análises ad hoc ou quando as estatísticas precisam ser calculadas imediatamente.

Siga estas etapas para gerar estatísticas de colunas sob demanda para tabelas do Catálogo de Dados usando o console ou a AWS CLI do AWS Glue.

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

**Para gerar estatísticas de colunas usando o console**

1. Faça login no console do AWS Glue em [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/). 

1. Escolha uma tabela do Catálogo de Dados.

1.  Escolha uma tabela na lista. 

1. Escolha **Gerar estatísticas** no menu **Ações**.

   Você também pode escolher a opção **Gerar**, **Gerar sob demanda** na guia **Estatísticas de colunas** na seção inferior da página **Tabela**.

1. Siga as etapas de 7 a 11 em [Gerar estatísticas de colunas em uma programação](generate-column-stats.md) para gerar estatísticas de colunas para a tabela.

1. Na página **Gerar estatísticas**, especifique as seguintes opções:   
![\[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/generate-column-stats.png)
   + **Todas as colunas**: escolha essa opção para gerar estatísticas para todas as colunas na tabela.
   + **Colunas selecionadas**: escolha essa opção para gerar estatísticas para colunas específicas. É possível selecionar as colunas na lista suspensa.
   + **Perfil do IAM**: escolha **Criar um novo perfil do IAM** com as políticas de permissão necessárias para executar a tarefa de geração de estatísticas de colunas. Escolha Exibir detalhes da permissão para revisar a declaração de política. Também é possível selecionar um perfil do IAM na lista. Para mais informações sobre as permissões necessárias, consulte [Pré-requisitos para gerar estatísticas de colunas](column-stats-prereqs.md).

     O AWS Glue assume as permissões do perfil que você especificou para gerar estatísticas. 

     Para obter mais informações sobre o fornecimento de perfis para o AWS Glue, consulte [Identity-based policies for AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/security_iam_service-with-iam.html#security_iam_service-with-iam-id-based-policies).
   + (Opcional) Em seguida, escolha uma configuração de segurança para ativar a criptografia em repouso para logs.
   + **Linhas de exemplo**: escolha somente uma porcentagem específica de linhas da tabela para gerar estatísticas. O padrão é todas as linhas. Use as setas para cima e para baixo para aumentar ou diminuir o valor percentual.
**nota**  
Recomendamos incluir todas as linhas na tabela para calcular estatísticas precisas. Use as linhas de exemplo para gerar estatísticas de coluna somente quando valores aproximados forem aceitáveis.

   Escolha **Gerar estatísticas** para executar a tarefa.

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

Esse comando acionará a execução de uma tarefa de estatísticas de colunas para a tabela especificada. É necessário fornecer o nome do banco de dados, o nome da tabela, um perfil do IAM com permissões para gerar estatísticas e, opcionalmente, fornecer os nomes das colunas e uma porcentagem do tamanho da amostra para o cálculo das estatísticas.

```
aws glue start-column-statistics-task-run \ 
    --database-name 'database_name \ 
    --table-name 'table_name' \ 
    --role 'arn:aws:iam::123456789012:role/stats-role' \
    --column-name 'col1','col2'  \
    --sample-size 10.0
```

Esse comando iniciará uma tarefa para gerar estatísticas de coluna para a tabela especificada. 

------

## Atualizar estatísticas de colunas sob demanda
<a name="update-column-stats-on-demand"></a>

 Manter estatísticas de colunas atualizadas é crucial para que o otimizador de consultas gere planos de execução eficientes, garantindo uma melhor performance de consultas, menor consumo de recursos e melhor performance geral do sistema. Esse processo é particularmente importante após alterações significativas nos dados, como cargas em massa ou modificações extensivas que podem tornar as estatísticas existentes obsoletas. 

É necessário executar explicitamente a tarefa **Gerar estatísticas** no console do AWS Glue para atualizar as estatísticas da coluna. O Catálogo de Dados não atualiza as estatísticas automaticamente.

Se você não estiver usando o recurso de geração de estatísticas do AWS Glue no console, poderá atualizar manualmente as estatísticas da coluna usando a operação da API [UpdateColumnStatisticsForTable](https://docs.aws.amazon.com/glue/latest/webapi/API_UpdateColumnStatisticsForTable.html) ou a AWS CLI. O exemplo a seguir mostra como excluir estatísticas de colunas usando a AWS CLI.

```
aws glue update-column-statistics-for-table --cli-input-json:

{
    "CatalogId": "111122223333",
    "DatabaseName": "database_name",
    "TableName": "table_name",
    "ColumnStatisticsList": [
        {
            "ColumnName": "col1",
            "ColumnType": "Boolean",
            "AnalyzedTime": "1970-01-01T00:00:00",
            "StatisticsData": {
                "Type": "BOOLEAN",
                "BooleanColumnStatisticsData": {
                    "NumberOfTrues": 5,
                    "NumberOfFalses": 5,
                    "NumberOfNulls": 0
                }
            }
        }
    ]
}
```