Distribuição
Use o Distribution Analyzer para calcular a distribuição de frequência de valores em uma coluna. O analisador gera saídas diferentes dependendo do tipo de dados da coluna:
-
Colunas numéricas: gera um histograma compartimentalizado. O histograma divide o intervalo de valores da coluna em intervalos da mesma largura (compartimentos) e conta o número de valores em cada compartimento.
-
Colunas de string, data e outras colunas não numéricas: gera uma distribuição de valores que conta a frequência de cada valor distinto, classificados em ordem decrescente por frequência. O analisador retorna somente os 20 valores mais frequentes.
nota
Você pode usar o Distribution Analyzer somente no bloco Analyzers do conjunto de regras DQDL. Ele não pode ser usado como regra.
Sintaxe
Distribution<COL_NAME>Distribution<COL_NAME>with bins =<BIN_COUNT>Distribution<COL_NAME>with bins =<BIN_COUNT>, rebin =<true|false>
-
COL_NAME: o nome da coluna a ser analisada ou
AllColumnspara calcular as distribuições de todas as colunas do conjunto de dados.Tipos de coluna compatíveis: qualquer tipo de coluna
-
bins (opcional): o número de compartimentos (intervalos) a serem usados nos histogramas de colunas numéricas. O valor padrão é 20. O valor máximo é 20. Esse parâmetro não tem efeito em colunas não numéricas.
-
rebin (opcional): controla o comportamento de recompartimentalização automática. Quando o transbordamento excede o limite em execuções consecutivas, o analisador recompartimentaliza automaticamente. O valor padrão é
true. Defina comofalsepara manter as bordas de compartimentos congeladas indefinidamente, independentemente da frequência de transbordamento. Para obter mais informações, consulte Recompartimentalização automática.
Exemplo: distribuição básica para uma única coluna
O exemplo a seguir calcula uma distribuição de frequência para a coluna Salary usando os 20 compartimentos padrão:
Analyzers = [ Distribution "Salary" ]
Exemplo: contagem de compartimentos personalizados
O seguinte exemplo calcula um histograma para a coluna Age usando 10 compartimentos:
Analyzers = [ Distribution "Age" with bins = 10 ]
Exemplo: distribuição em todas as colunas
O exemplo a seguir calcula as distribuições em todas as colunas do conjunto de dados. As colunas numéricas geram histogramas com 20 compartimentos e as colunas não numéricas geram distribuições de valores:
Analyzers = [ Distribution AllColumns ]
Exemplo: combinação com regras e outros analisadores
O exemplo a seguir mostra um conjunto de regras que combina regras, analisadores padrão e o Distribution Analyzer:
Rules = [ RowCount > 100, Completeness "Salary" > 0.9 ] Analyzers = [ Mean "Salary", StandardDeviation "Salary", Distribution "Salary" with bins = 15, Distribution "Department" ]
Formato de saída
Quando você executa o Distribution Analyzer, ele gera uma estatística denominada Distribution. Estatísticas escalares (como Mean ou Sum) retornam um único valor numérico. A estatística Distribution, por outro lado, retorna um resultado estruturado:
-
BinEdges: uma matriz que define os limites de compartimento (para colunas numéricas) ou valores distintos (para colunas não numéricas). -
Count: uma matriz de frequências para cada compartimento ou valor.
Você pode recuperar os resultados de distribuição usando a API ListDataQualityStatistics ou a API GetDataQualityResult. Para obter mais informações sobre as APIs de qualidade de dados, consulte APIs de qualidade de dados na Referência de API do AWS Glue.
Comportamento nulo
O analisador exclui do cálculo de compartimentos as linhas com valores NULL na coluna de destino.
Para obter mais informações sobre bordas de compartimentos congeladas, observações com transbordamentos e recompartimentalização automática, consulte Distribution Analyzer.