En este documento, se describe la calidad de los datos automáticos de Dataplex, que te permite definir y medir la calidad de tus datos. Puedes automatizar el análisis de datos, validarlos en función de reglas definidas y registrar alertas si tus datos no cumplen con los requisitos de calidad. Puedes administrar las reglas de calidad de los datos y las implementaciones como código, lo que mejora la integridad de las canalizaciones de producción de datos.
Para comenzar, puedes usar las recomendaciones de reglas de perfilamiento de datos de Dataplex o crear reglas personalizadas en la consola de Google Cloud . Dataplex proporciona supervisión, solución de problemas y alertas de Cloud Logging integradas en la calidad automática de los datos de Dataplex.
Modelo conceptual
Un análisis de datos es un trabajo de Dataplex que toma muestras de datos de BigQuery y Cloud Storage, y deduce varios tipos de metadatos. Para medir la calidad de una tabla con la calidad de los datos automáticos, crea un objeto DataScan
de tipo data quality
. El análisis se ejecuta solo en una tabla de BigQuery. El análisis usa recursos en un proyecto de inquilino de Google, por lo que no necesitas configurar tu propia infraestructura.
La creación y el uso de un análisis de calidad de los datos consisten en los siguientes pasos:
- Define reglas de calidad de los datos
- Configura la ejecución de reglas
- Analiza los resultados del análisis de calidad de los datos
- Configura la supervisión y las alertas
- Soluciona problemas de calidad de los datos
Definición de la regla
Las reglas de calidad de los datos asociadas con un análisis de calidad de los datos definen las expectativas de los datos. Puedes crear reglas de calidad de datos de las siguientes maneras:
- Usa las recomendaciones de la generación de perfiles de datos de Dataplex
- Usa las reglas predefinidas
- Crea reglas de SQL personalizadas
Reglas predefinidas
Dataplex admite dos categorías de reglas predefinidas: a nivel de la fila o aggregadas.
- A nivel de la fila
En el caso de las reglas de categorías a nivel de la fila, la expectativa se aplica a cada fila de datos. Cada fila pasa o falla la condición de forma independiente. Por ejemplo,
column_A_value < 1
.Las verificaciones a nivel de la fila requieren que especifiques un umbral de aprobación. Cuando el porcentaje de filas que pasan la regla cae por debajo del valor del umbral, la regla falla.
- Agregación
En el caso de las reglas agregadas, la expectativa se aplica a un solo valor agregado en todos los datos. Por ejemplo,
Avg(someCol) >= 10
. Para aprobar, la verificación debe evaluarse como eltrue
booleano. Las reglas de agregación no proporcionan un recuento independiente de aprobación o rechazo para cada fila.
Para ambas categorías de reglas, puedes establecer los siguientes parámetros:
- Es la columna a la que se aplica la regla.
- Una dimensión de un conjunto de dimensiones predefinidas.
En la siguiente tabla, se enumeran los tipos de reglas agregadas y a nivel de la fila admitidos:
Tipo de regla (nombre en la consola de Google Cloud ) |
Regla agregada o a nivel de la fila | Descripción | Tipos de columnas admitidos | Parámetros específicos de la regla |
---|---|---|---|---|
RangeExpectation (Verificación de rango) |
A nivel de la fila | Comprueba si el valor está entre min y max. | Todas las columnas de tipo numérico, de fecha y de marca de tiempo | Obligatorio:
|
NonNullExpectation (Verificación de nulidad) |
A nivel de la fila | Valida que los valores de las columnas no sean NULL. | Todos los tipos de columnas compatibles | Obligatorio:
|
SetExpectation (verificación de conjunto) |
A nivel de la fila | Comprueba si los valores de una columna son uno de los valores especificados en un conjunto. | Todos los tipos de columnas admitidos, excepto Record y Struct . |
Obligatorio:
|
RegexExpectation (Verificación de expresión regular) |
A nivel de la fila | Verifica los valores en función de una expresión regular especificada. | String | Obligatorio:
|
Uniqueness (Verificación de unicidad) |
Agregación | Verifica si todos los valores de una columna son únicos. | Todos los tipos de columnas admitidos, excepto Record y Struct . |
Obligatorio:
|
StatisticRangeExpectation (verificación estadística) |
Agregación | Verifica si la medida estadística determinada coincide con la expectativa del rango. | Todos los tipos de columnas numéricas admitidos | Obligatorio:
|
Tipos de reglas de SQL personalizadas compatibles
Las reglas de SQL proporcionan flexibilidad para expandir la validación con lógica personalizada. Estas reglas se dividen en los siguientes tipos.
Tipo de regla | Regla agregada o a nivel de la fila | Descripción | Tipos de columnas admitidos | Parámetros específicos de la regla | Ejemplo |
---|---|---|---|---|---|
Condición de la fila | A nivel de la fila | Especifica una expectativa para cada fila definiendo una expresión SQL en una cláusula La expresión puede incluir una referencia a otra tabla, por ejemplo, para crear verificaciones de integridad referencial. |
Todas las columnas | Obligatorio:
|
grossWeight <= netWeight |
Condición de la tabla (expresión SQL agregada) |
Agregación | Estas reglas se ejecutan una vez por tabla. Proporciona una expresión en SQL que se evalúe como un valor booleano La expresión SQL puede incluir una referencia a otra tabla mediante subconsultas de expresión. |
Todas las columnas | Obligatorio:
|
Ejemplo de agregación simple: Usa una subconsulta de expresión para comparar valores en una tabla diferente: |
Aserción de SQL | Agregación | Una regla de aserción usa una consulta de calidad de datos para encontrar filas que no cumplen una o más condiciones especificadas en la consulta. Proporciona una instrucción de SQL que se evalúe para mostrar las filas que coincidan con el estado no válido. Si la consulta muestra filas, la regla falla. Omite el punto y coma final de la instrucción de SQL. La instrucción de SQL puede incluir una referencia a otra tabla mediante subconsultas de expresión. |
Todas las columnas | Obligatorio:
|
Ejemplo de agregación simple para asegurarse de que Usa una subconsulta de expresión para comparar valores en una tabla diferente: |
Para ver ejemplos de reglas, consulta reglas de ejemplo de la calidad de los datos automáticos.
Para conocer las funciones de SQL compatibles, consulta la referencia de GoogleSQL.
Dimensiones
Las dimensiones te permiten agregar los resultados de varias reglas de calidad de los datos para la supervisión y las alertas. Debes asociar cada regla de calidad de los datos con una dimensión. Dataplex admite las siguientes dimensiones:
- Actualidad
- Volumen
- Integridad
- Validez
- Coherencia
- Exactitud
- Unicidad
Entrada escrita en reglas
Todos los parámetros de valor se pasan como valores de cadena a la API. Dataplex requiere que las entradas sigan el formato especificado por BigQuery.
Los parámetros de tipo binario se pueden pasar como una cadena codificada en base64.
Tipo | Formatos admitidos | Ejemplos |
---|---|---|
Binaria | Valor codificado en base64 | YXBwbGU= |
Marca de tiempo | AAAA-[M]M-[D]D[( |T)[H]H:[M]M:[S]S[.F]] [time_zone] O AAAA-[M]M-[D]D[( |T)[H]H:[M]M:[S]S[.F]][time_zone_offset] |
2014-09-27 12:30:00.45-08 |
Fecha | AAAA-M[M]-D[D] | 2014-09-27 |
Hora | [H]H:[M]M:[S]S[.DDDDDD] | 12:30:00.45 |
DateTime | AAAA-[M]M-[D]D [[H]H:[M]M:[S]S[.DDDDDD]] | 2014-09-27 12:30:00.45 |
Parámetro de referencia de datos
Cuando creas una regla de SQL personalizada, puedes hacer referencia a una tabla de fuente de datos y a todos sus filtros de precondición con el parámetro de referencia de datos ${data()}
en la regla, en lugar de mencionar explícitamente la tabla de origen y sus filtros.
Dataplex interpreta el parámetro como una referencia a la tabla fuente y sus filtros. Algunos ejemplos de filtros de condiciones previas incluyen los filtros de filas, los porcentajes de muestreo y los filtros incrementales.
Por ejemplo, supongamos que tienes una tabla de fuente de datos llamada
my_project_id.dim_dataset.dim_currency
. Quieres ejecutar un análisis de calidad de datos incremental que solo analice los datos diarios nuevos. Se aplica un filtro de fila que filtra las entradas de hoy, transaction_timestamp >= current_date()
, en la tabla.
Una regla de SQL personalizada para encontrar filas con discount_pct
para hoy se ve de la siguiente manera:
discount_pct IN (SELECT discount_pct FROM my_project_id.dim_dataset.dim_currency WHERE transaction_timestamp >= current_date())
Si usas el parámetro de referencia de datos, puedes simplificar la regla. Reemplaza la mención de la tabla y sus filtros de precondición por el parámetro ${data()}
:
discount_pct IN (SELECT discount_pct FROM ${data()})
Dataplex interpreta el parámetro ${data()}
como una
referencia a la tabla de la fuente de datos con las entradas de hoy,
my_project_id.dim_dataset.dim_currency WHERE transaction_timestamp >= current_date()
.
En este ejemplo, el parámetro de referencia de datos solo hace referencia a los datos incrementales.
El parámetro ${data()}
distingue mayúsculas de minúsculas.
Cuando usas un alias dentro de una subconsulta para hacer referencia a columnas de la tabla fuente, usa el parámetro de referencia de datos para hacer referencia a la tabla fuente o omite la referencia de la tabla. No hagas referencia a las columnas de la tabla de origen con una
referencia directa a la tabla en la cláusula WHERE
.
Recomendado:
Usa el parámetro de referencia de datos para hacer referencia a la tabla de origen:
discount_pct IN ( SELECT discount_pct FROM `my_project_id.dim_dataset.dim_currency` AS temp-table WHERE temp-table.transaction_timestamp = ${data()}.timestamp )
Omite la referencia de la tabla:
discount_pct IN ( SELECT discount_pct FROM `my_project_id.dim_dataset.dim_currency` AS temp-table WHERE temp-table.transaction_timestamp = timestamp )
No se recomienda:
No uses una referencia de tabla directa para hacer referencia a columnas en la tabla de origen:
discount_pct IN ( SELECT discount_pct FROM `my_project_id.dim_dataset.dim_currency` AS temp-table WHERE temp-table.transaction_timestamp = `my_project_id.dim_dataset.dim_currency`.timestamp )
Ejecución de reglas
Puedes programar análisis de calidad de los datos para que se ejecuten en un intervalo específico o puedes ejecutar un análisis a pedido. Para administrar las verificaciones de calidad de los datos, puedes usar la API o la consola deGoogle Cloud .
Cuando ejecutas un análisis de calidad de los datos, Dataplex crea un trabajo. Como parte de la especificación de un análisis de calidad de los datos, puedes especificar el alcance de un trabajo para que sea uno de los siguientes:
- Tabla completa
- Cada trabajo valida toda la tabla.
- Incremental
- Cada trabajo valida los datos incrementales. Para determinar los incrementos, proporciona una columna
Date
/Timestamp
en la tabla que se pueda usar como marcador. Por lo general, esta es la columna en la que se particiona la tabla.
Filtra datos
Dataplex puede filtrar los datos que se analizarán para determinar su calidad con un filtro de filas. Crear un filtro de filas te permite enfocarte en los datos de un período o segmento específico, como una región determinada. El uso de filtros puede reducir el tiempo y el costo de ejecución, por ejemplo, filtrar los datos con una marca de tiempo anterior a una fecha determinada.
Datos de muestra
Dataplex te permite especificar un porcentaje de registros de tus datos para obtener muestras y ejecutar un análisis de calidad de los datos. Crear análisis de calidad de los datos en una muestra más pequeña de datos puede reducir el tiempo de ejecución y el costo en relación con consultar todo el conjunto de datos.
Resultados del análisis de calidad de los datos
Los resultados de tus análisis de calidad de los datos están disponibles en Dataplex. También puedes revisar y analizar los resultados de la búsqueda con los siguientes métodos:
Exporta resultados a BigQuery
Puedes exportar los resultados del análisis a una tabla de BigQuery para analizarlos en detalle. Para personalizar los informes, puedes conectar los datos de la tabla de BigQuery a un panel de Looker. Puedes crear un informe agregado mediante el uso de la misma tabla de resultados en varios análisis.
Publica los resultados en la consola de Google Cloud
Puedes publicar los resultados del análisis de calidad de los datos en las páginas de BigQuery y Data Catalog de la tabla de origen en la consola de Google Cloud . Los resultados del análisis más recientes están disponibles en la pestaña Calidad de los datos de la tabla de origen.
Revisa las puntuaciones de calidad de los datos
Cada resultado del análisis proporciona puntuaciones de calidad de los datos que indican el porcentaje de reglas que se aprobaron. Las puntuaciones se informan a nivel general del trabajo, a nivel de la columna (si la regla se evalúa en función de una columna) y a nivel de la dimensión. Usa las puntuaciones de calidad de los datos para normalizar la calidad de los datos en las tablas o columnas, hacer un seguimiento de las tendencias y, además, identificar los datos que no cumplen con los requisitos de calidad.
Para obtener más información, consulta Cómo ver los resultados del análisis de calidad de los datos.
Supervisión y alertas
Puedes supervisar y recibir alertas sobre los análisis de calidad de los datos con los siguientes métodos:
Cómo configurar alertas en Cloud Logging
Puedes supervisar los trabajos de calidad de los datos con los registros
data_scan
ydata_quality_scan_rule_result
en el Explorador de registros.Para cada trabajo de calidad de datos, el registro
data_scan
con el campodata_scan_type
configurado enDATA_QUALITY
contiene la siguiente información:- Es la fuente de datos que se usa para el análisis de datos.
- Detalles de la ejecución de trabajos, como la hora de creación, la hora de inicio, la hora de finalización y el estado del trabajo
- Resultado del trabajo de calidad de los datos: aprobado o no aprobado
- Aprobación o rechazo a nivel de la dimensión
Cada trabajo que se realiza correctamente contiene un registro
data_quality_scan_rule_result
con la siguiente información detallada sobre cada regla de ese trabajo:- Información de configuración, como el nombre, el tipo, el tipo de evaluación y la dimensión de la regla
- Información del resultado, como aprobado o reprobado, recuento total de filas, recuento de filas aprobadas, recuento de filas nulas y recuento de filas evaluadas
La información de los registros está disponible a través de la API y la consola deGoogle Cloud . Puedes usar esta información para configurar alertas. Para obtener más información, consulta Cómo configurar alertas en Logging.
Envía informes de notificaciones por correo electrónico
Puedes enviar informes de notificaciones por correo electrónico para alertar a las personas sobre el estado y los resultados de una tarea de calidad de los datos. Los informes de notificaciones están disponibles para las siguientes situaciones:
- El nivel de calidad de los datos es inferior a un nivel objetivo especificado
- El trabajo falló
- El trabajo finalizó
Puedes configurar los informes de notificaciones cuando creas un análisis de calidad de los datos.
Soluciona problemas de calidad de los datos
Cuando falla una regla, Dataplex genera una consulta para obtener los registros que fallaron. Ejecuta esta consulta para ver los registros que no coincidieron con tu regla. Para obtener más información, consulta Cómo solucionar problemas de calidad de los datos.
Limitaciones
- Los resultados del análisis de calidad de los datos no se publican en Data Catalog como etiquetas.
- Las recomendaciones de reglas no se admiten en gcloud CLI.
- La elección de las dimensiones se fija en una de las siete dimensiones predefinidas.
- La cantidad de reglas por análisis de calidad de los datos está limitada a 1,000.
- Las puntuaciones de calidad de los datos que se informan a nivel de la columna solo se admiten en la API.
Precios
Dataplex usa el SKU de procesamiento premium para cobrar por la calidad automática de los datos. Para obtener más información, consulta Precios de Dataplex.
La publicación de resultados de la calidad de los datos automáticos en el catálogo aún no está disponible. Cuando esté disponible, se cobrará con la misma tarifa que los precios de almacenamiento de metadatos de Catalog. Consulta Precios para obtener más detalles.
El procesamiento premium de Dataplex para la calidad de los datos automáticos se factura por segundo con un mínimo de un minuto.
No se aplican cargos por los análisis de calidad de los datos que no se completaron correctamente.
El cargo depende de la cantidad de filas, la cantidad de columnas, la cantidad de datos que analizaste, la configuración de la regla de calidad de los datos, la configuración de particionamiento y agregación de la tabla, y la frecuencia del análisis.
Existen varias opciones para reducir el costo de los análisis automáticos de calidad de los datos:
Para separar los cargos de calidad de los datos de otros cargos en el SKU de procesamiento premium de Dataplex, en el informe de Facturación de Cloud, usa la etiqueta
goog-dataplex-workload-type
con el valorDATA_QUALITY
.Para filtrar los cargos agregados, usa las siguientes etiquetas:
goog-dataplex-datascan-data-source-dataplex-entity
goog-dataplex-datascan-data-source-dataplex-lake
goog-dataplex-datascan-data-source-dataplex-zone
goog-dataplex-datascan-data-source-project
goog-dataplex-datascan-data-source-region
goog-dataplex-datascan-id
goog-dataplex-datascan-job-id
Próximos pasos
- Obtén más información para usar la calidad de los datos automáticos.
- Obtén información sobre la generación de perfiles de datos.
- Obtén más información para usar la generación de perfiles de datos.