Distribución
Utilice el analizador Distribution para calcular la distribución de frecuencias de los valores de una columna. El analizador produce diferentes salidas según el tipo de datos de la columna:
-
Columnas numéricas: genera un histograma por intervalos. El histograma divide el rango de valores de la columna en intervalos de igual anchura y cuenta el número de valores de cada intervalo.
-
Cadena, fecha y otras columnas no numéricas: genera una distribución de valores que cuenta la frecuencia de cada valor distinto, clasificada en orden descendente por frecuencia. El analizador devuelve solo los 20 valores más frecuentes.
nota
Solo puede usar el analizador Distribution en el bloque Analyzers de su conjunto de reglas de DQDL. No se puede usar como regla.
Sintaxis
Distribution<COL_NAME>Distribution<COL_NAME>with bins =<BIN_COUNT>Distribution<COL_NAME>with bins =<BIN_COUNT>, rebin =<true|false>
-
COL_NAME: nombre de la columna que se va a analizar o
AllColumnspara calcular las distribuciones de todas las columnas del conjunto de datos.Tipos de columnas compatibles: cualquier tipo de columna
-
bins (opcional): número de intervalos que se van a usar en los histogramas de columnas numéricas. El valor predeterminado es 20. El valor máximo es 20. Este parámetro no tiene efecto en las columnas no numéricas.
-
rebin (opcional): controla el comportamiento de la creación automática de nuevos intervalos. Cuando el desbordamiento supera el umbral en ejecuciones consecutivas, el analizador realiza la creación de nuevos intervalos automáticamente. El valor predeterminado es
true. Establézcalo enfalsepara mantener los bordes de los intervalos fijos indefinidamente, independientemente de la frecuencia de desbordamiento. Para obtener más información, consulte Creación automática de nuevos intervalos.
Ejemplo: distribución básica para una sola columna
En el siguiente ejemplo se calcula una distribución de frecuencias para la columna Salary utilizando los 20 intervalos predeterminados:
Analyzers = [ Distribution "Salary" ]
Ejemplo: recuento de intervalos personalizado
En el siguiente ejemplo se calcula un histograma para la columna Age con 10 intervalos:
Analyzers = [ Distribution "Age" with bins = 10 ]
Ejemplo: distribución para todas las columnas
En el siguiente ejemplo se calculan las distribuciones de todas las columnas del conjunto de datos. Las columnas numéricas producen histogramas con 20 intervalos y las columnas no numéricas producen distribuciones de valores:
Analyzers = [ Distribution AllColumns ]
Ejemplo: combinación con reglas y otros analizadores
En el siguiente ejemplo se muestra un conjunto de reglas que combina reglas, analizadores estándar y el analizador Distribution:
Rules = [ RowCount > 100, Completeness "Salary" > 0.9 ] Analyzers = [ Mean "Salary", StandardDeviation "Salary", Distribution "Salary" with bins = 15, Distribution "Department" ]
Formato de salida
Cuando se ejecuta el analizador Distribution, se genera una estadística denominada Distribution. Las estadísticas escalares (como Mean o Sum) devuelven un solo valor numérico. La estadística Distribution, por el contrario, devuelve un resultado estructurado:
-
BinEdges: una matriz que define los límites de los intervalos (para las columnas numéricas) o los valores distintos (para las columnas no numéricas). -
Count: una matriz de frecuencias para cada intervalo o valor.
Puede recuperar los resultados de la distribución mediante la API ListDataQualityStatistics o la API GetDataQualityResult. Para obtener más información sobre las API de Calidad de datos, consulte las API de Calidad de datos en la referencia de las API de AWS Glue.
Comportamiento nulo
El analizador excluye del cálculo del intervalo las filas con valores NULL en la columna de destino.
Para obtener más información sobre los bordes de los intervalos fijos, las observaciones de desbordamiento y la creación automática de nuevos intervalos, consulte Analizador Distribution.