Gerar estatísticas de colunas sob demanda
É 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.
- AWS Management Console
-
Para gerar estatísticas de colunas usando o console
-
Faça login no console do AWS Glue em https://console.aws.amazon.com/glue/.
-
Escolha uma tabela do Catálogo de Dados.
-
Escolha uma tabela na lista.
-
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.
Siga as etapas de 7 a 11 em Gerar estatísticas de colunas em uma programação para gerar estatísticas de colunas para a tabela.
-
Na página Gerar estatísticas, especifique as seguintes opções:
-
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.
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.
-
(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.
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
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 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
}
}
}
]
}