La función de calidad de los datos automática de Dataplex Universal Catalog le permite definir y medir la calidad de los datos de sus tablas de BigQuery. Puedes automatizar el análisis de datos, validar los datos con respecto a las reglas definidas y registrar alertas si los datos no cumplen los requisitos de calidad. Puedes gestionar 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 empezar, puedes usar recomendaciones de reglas basadas en los resultados de un análisis de perfil de datos de Dataplex Universal Catalog o crear reglas personalizadas.
Dataplex Universal Catalog ofrece monitorización, solución de problemas y alertas de Cloud Logging integradas con la calidad de los datos automática de Dataplex Universal Catalog.
Modelo conceptual
Un análisis de datos es una tarea de Dataplex Universal Catalog que toma muestras de datos de BigQuery y Cloud Storage, e infiere varios tipos de metadatos. Para medir la calidad de una tabla mediante la calidad de los datos automática, crea un objeto DataScan
de tipo data quality
. El análisis solo se ejecuta en una tabla de BigQuery. El análisis usa recursos de un proyecto de arrendatario de Google, por lo que no tienes que configurar tu propia infraestructura.
Para crear y usar un análisis de calidad de los datos, sigue estos pasos:
- Definir reglas de calidad de los datos
- Configurar la ejecución de reglas
- Analizar los resultados de un análisis de calidad de los datos
- Configurar la monitorización y las alertas
- Solucionar problemas de calidad de los datos
Definición de la regla
Las reglas de calidad de los datos asociadas a un análisis de calidad de los datos definen las expectativas de los datos. Puede crear reglas de calidad de los datos de las siguientes formas:
- Usar las recomendaciones de la elaboración de perfiles de datos de Dataplex Universal Catalog
- Usar las reglas predefinidas
- Crear reglas de SQL personalizadas
Reglas predefinidas
Dataplex Universal Catalog admite las siguientes categorías de reglas predefinidas:
- A nivel de fila
En el caso de las reglas de categorías a nivel de fila, la expectativa se aplica a cada fila de datos. Cada fila supera o no la condición de forma independiente. Por ejemplo,
column_A_value < 1
.Para las comprobaciones a nivel de fila, debe especificar un umbral de aprobación. Si el porcentaje de filas que cumplen la regla es inferior al valor umbral, la regla falla.
- Agregar
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 aprobarla, la comprobación debe dar como resultado el valor booleanotrue
. Las reglas agregadas no proporcionan un recuento independiente de aprobaciones o fallos para cada fila.
En ambas categorías de reglas, puedes definir los siguientes parámetros:
- Columna a la que se aplica la regla
- Una dimensión
En la siguiente tabla se indican los tipos de reglas de nivel de fila y agregadas admitidos:
Tipo de regla (nombre en la Google Cloud consola) |
Regla de nivel de fila o agregada | Descripción | Tipos de columna admitidos | Parámetros específicos de la regla |
---|---|---|---|---|
RangeExpectation (Comprobación de intervalo) |
A nivel de fila | Comprueba si el valor está entre el mínimo y el máximo. | Todas las columnas de tipo numérico, de fecha y de marca de tiempo. | Obligatorio:
|
NonNullExpectation (Comprobación de valores nulos) |
A nivel de fila | Valida que los valores de la columna no sean NULL. | Todos los tipos de columnas admitidos. | Obligatorio:
|
SetExpectation (Comprobar conjunto) |
A nivel de fila | Comprueba si los valores de una columna son uno de los valores especificados de un conjunto. | Todos los tipos de columna admitidos, excepto Record y Struct . |
Obligatorio:
|
RegexExpectation (Comprobación de expresiones regulares) |
A nivel de fila | Comprueba los valores con una expresión regular especificada. | Cadena | Obligatorio:
|
Uniqueness (Comprobación de la originalidad) |
Agregar | Comprueba si todos los valores de una columna son únicos. | Todos los tipos de columna admitidos, excepto Record y Struct . |
Obligatorio:
|
StatisticRangeExpectation (Comprobación de estadísticas) |
Agregar | Comprueba si la medida estadística dada coincide con el intervalo esperado. | Todos los tipos de columnas numéricas admitidos. | Obligatorio:
|
Tipos de reglas SQL personalizadas admitidos
Las reglas de SQL ofrecen flexibilidad para ampliar la validación con lógica personalizada. Estas reglas se clasifican en los siguientes tipos.
Tipo de regla | Regla de nivel de fila o agregada | Descripción | Tipos de columna admitidos | Parámetros específicos de la regla | Ejemplo |
---|---|---|---|---|---|
Condición de fila | A nivel de fila | Especifica un valor esperado 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 comprobaciones de integridad referencial. |
Todas las columnas | Obligatorio:
|
grossWeight <= netWeight |
Condición de la tabla (expresión SQL agregada) |
Agregar | Estas reglas se ejecutan una vez por tabla. Proporciona una expresión SQL que
se evalúa como booleana La expresión SQL puede incluir una referencia a otra tabla mediante subconsultas de expresiones. |
Todas las columnas | Obligatorio:
|
Ejemplo de agregación simple: Usar una subconsulta de expresión para comparar valores de otra tabla: |
Aserción de SQL | Agregar | Una regla de aserción usa una consulta de calidad de los datos para buscar filas que no cumplen una o varias condiciones especificadas en la consulta. Proporciona una instrucción SQL que se evalúa para devolver las filas que coinciden con el estado no válido. Si la consulta devuelve alguna fila, la regla falla. Omite el punto y coma final de la instrucción SQL. La instrucción SQL puede incluir una referencia a otra tabla mediante subconsultas de expresiones. |
Todas las columnas | Obligatorio:
|
Ejemplo de agregación simple para asegurarse de que Usar una subconsulta de expresión para comparar valores de otra tabla: |
Para ver reglas de ejemplo, consulta las reglas de ejemplo de calidad de los datos de Auto.
Para ver las funciones de SQL admitidas, consulta la referencia de GoogleSQL.
Dimensiones
Las dimensiones te permiten agregar los resultados de varias reglas de calidad de los datos para monitorizar y enviar alertas. Debe asociar cada regla de calidad de los datos a una dimensión. Dataplex Universal Catalog proporciona las siguientes dimensiones:
- Actualización
- La actualización mide cuándo se actualizaron los datos por última vez. Esta información puede ayudarte a determinar si los datos son lo suficientemente recientes como para ser útiles.
- Volumen
- Volumen: mide si están presentes todos los datos esperados.
- Completeness
- La integridad evalúa si los datos contienen toda la información necesaria para el propósito previsto.
- Validez
- Validez: evalúa si los datos cumplen los estándares predefinidos de formato, intervalos aceptables u otros criterios. Por ejemplo, si una fecha válida debe tener el formato
YYYY/mm/dd
, 08-12-2019 no es un dato válido. Por ejemplo, si el precio de oferta válido de un artículo está entre 10 y 20 USD, un precio de oferta de 100 USD no es válido. - Coherencia
- La coherencia se refiere a que los datos tengan los mismos valores en varias instancias, como tablas y columnas. La incoherencia de los datos se produce cuando, por ejemplo, los ingresos de un producto son diferentes si se leen de una base de datos de ventas o de una base de datos de uso.
- Precisión
- La precisión refleja la exactitud de los datos. Ten en cuenta que los datos válidos no tienen por qué ser precisos. Por ejemplo, el color de pelo castaño es válido, pero si una persona no tiene el pelo castaño, se trata de datos incorrectos.
- Singularidad
- Unicidad: mide si los datos son distintos y no hay duplicados.
Entrada escrita en reglas
Todos los parámetros de valor se envían a la API como valores de cadena. Dataplex Universal Catalog requiere que las entradas sigan el formato especificado de BigQuery.
Los parámetros de tipo binario se pueden transferir como una cadena codificada en Base64.
Tipo | Formatos admitidos | Ejemplos |
---|---|---|
Binario | Valor codificado en Base64 | YXBwbGU= |
Marca de tiempo | AAAA-[M]M-[D]D[( |T)[H]H:[M]M:[S]S[.F]] [zona_horaria] O AAAA-[M]M-[D]D[( |T)[H]H:[M]M:[S]S[.F]][desfase_zona_horaria] |
2014-09-27 12:30:00.45-08 |
Fecha | YYYY-M[M]-D[D] | 2014-09-27 |
Hora | [H]H:[M]M:[S]S[.DDDDDD] | 12:30:00.45 |
DateTime | YYYY-[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 una fuente de datos y a todos sus filtros de condición previa mediante 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 Universal Catalog interpreta el parámetro como una referencia a la tabla de origen y sus filtros. Entre los ejemplos de filtros de condición previa se incluyen los filtros de filas, los porcentajes de muestreo y los filtros incrementales.
Por ejemplo, supongamos que tiene 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. En la tabla se aplica un filtro de filas que filtra las entradas de hoy, transaction_timestamp >= current_date()
.
Una regla SQL personalizada para buscar filas con discount_pct
para hoy tendría este aspecto:
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. Sustituye la mención de la tabla y sus filtros de condición previa por el parámetro ${data()}
:
discount_pct IN (SELECT discount_pct FROM ${data()})
Dataplex Universal Catalog 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.
En el parámetro ${data()}
se distingue entre mayúsculas y minúsculas.
Cuando usas un alias en una subconsulta para hacer referencia a columnas de la tabla de origen, usa el parámetro de referencia de datos para hacer referencia a la tabla de origen o bien omite la referencia de tabla. No hagas referencia a las columnas de la tabla de origen mediante 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 )
Omitir 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 recomendado:
No uses una referencia directa a la tabla para hacer referencia a las columnas de 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 a intervalos específicos o puedes ejecutar un análisis bajo demanda.
Cuando ejecutas un análisis de calidad de los datos, Dataplex Universal Catalog crea un trabajo. Como parte de la especificación de un análisis de calidad de los datos, puede especificar que el ámbito de un trabajo sea uno de los siguientes:
- Tabla completa
- Cada trabajo valida toda la tabla.
- Incremental
- Cada trabajo valida los datos incrementales. Para determinar los incrementos, proporcione una columna
Date
/Timestamp
en la tabla que se pueda usar como marcador. Normalmente, se trata de la columna en la que se particiona la tabla.
Filtrar datos
Puede filtrar los datos que se van a analizar para comprobar su calidad mediante un filtro de filas. Al crear un filtro de filas, puede centrarse en los datos de un periodo o un segmento específicos, como una región concreta. Si usas filtros, puedes reducir el tiempo de ejecución y el coste. Por ejemplo, puede excluir los datos con una marca de tiempo anterior a una fecha determinada.
Datos de ejemplo
Puedes especificar un porcentaje de registros de tus datos para muestrear y realizar un análisis de calidad de los datos. Si creas análisis de calidad de los datos en una muestra de datos más pequeña, puedes reducir el tiempo de ejecución y el coste en comparación con la consulta de todo el conjunto de datos.
Resultados del análisis de calidad de los datos
Los resultados de los análisis de calidad de los datos están disponibles en Dataplex Universal Catalog y BigQuery. También puede revisar y analizar los resultados del análisis con los siguientes métodos:
Exportar resultados a BigQuery
Puede exportar los resultados del análisis a una tabla de BigQuery para analizarlos más a fondo. Para personalizar los informes, puede conectar los datos de la tabla de BigQuery a un panel de Looker. Puedes crear un informe agregado usando la misma tabla de resultados en varios análisis.
Publicar los resultados como metadatos de Dataplex Universal Catalog
Puede publicar los resultados del análisis de calidad de los datos como metadatos de Dataplex Universal Catalog. Los resultados más recientes se guardan en la entrada de Dataplex Universal Catalog que representa la tabla de origen, en el tipo de aspecto de sistema
data-quality-scorecard
. Puede ver los resultados en las páginas de BigQuery y Dataplex Universal Catalog de la tabla de origen en la Google Cloud consola, en la pestaña Calidad de los datos. También puedes obtener los resultados mediante la API.Para obtener más información sobre los metadatos de Dataplex Universal Catalog, consulta Información sobre la gestión de metadatos en Dataplex Universal Catalog.
Revisar las puntuaciones de calidad de los datos
Cada resultado de análisis proporciona puntuaciones de calidad de los datos que indican el porcentaje de reglas que se han cumplido. Las puntuaciones se registran a nivel general de la tarea, a nivel de columna (si la regla se evalúa en una columna) y a nivel de dimensión. Usa las puntuaciones de calidad de los datos para normalizar la calidad de los datos en tablas o columnas, monitorizar tendencias e identificar los datos que no cumplen los requisitos de calidad.
Para obtener más información, consulta Ver los resultados del análisis de calidad de los datos.
Monitorización y alertas
Puede monitorizar las comprobaciones de calidad de los datos y recibir alertas sobre ellas mediante los siguientes métodos:
Configurar alertas en Cloud Logging
Puede monitorizar las tareas de calidad de los datos mediante los registros
data_scan
ydata_quality_scan_rule_result
del Explorador de registros.En cada tarea de calidad de los datos, el registro
data_scan
con el campodata_scan_type
definido comoDATA_QUALITY
contiene la siguiente información:- Fuente de datos utilizada para el análisis de datos.
- Detalles de la ejecución de la tarea, como la hora de creación, la hora de inicio, la hora de finalización y el estado de la tarea.
- Resultado de la tarea de calidad de los datos: aprobado o no aprobado.
- Resultado de la dimensión (aprobado o no aprobado).
Cada trabajo completado correctamente contiene un
data_quality_scan_rule_result
registro con la siguiente información detallada sobre cada regla de ese trabajo:- Información de configuración, como el nombre de la regla, el tipo de regla, el tipo de evaluación y la dimensión.
- Información sobre los resultados, como si se han superado o no, el recuento total de filas, el recuento de filas superadas, el recuento de filas nulas y el recuento de filas evaluadas.
La información de los registros está disponible a través de la API y de laGoogle Cloud consola. Puedes usar esta información para configurar alertas. Para obtener más información, consulta Configurar alertas en Logging.
Enviar informes de notificaciones por correo electrónico
Puede enviar informes de notificaciones por correo para alertar a los usuarios sobre el estado y los resultados de un trabajo de calidad de los datos. Los informes de notificaciones están disponibles en los siguientes casos:
- La puntuación de calidad de los datos es inferior a la puntuación objetivo especificada
- La tarea ha fallado
- El trabajo ha finalizado
Los informes de notificaciones se configuran al crear un análisis de calidad de los datos.
Solucionar problemas de calidad de los datos
Cuando falla una regla, Dataplex Universal Catalog genera una consulta para obtener los registros fallidos. Ejecuta esta consulta para ver los registros que no coinciden con tu regla. Para obtener más información, consulta Solucionar problemas de calidad de los datos.
Limitaciones
- Las recomendaciones de reglas no se admiten en la CLI de gcloud.
- La elección de dimensiones se limita a una de las siete dimensiones predefinidas.
- El número de reglas por análisis de calidad de los datos está limitado a 1000.
- Las puntuaciones de calidad de los datos que se registran a nivel de columna solo se admiten en la API.
Precios
Para obtener más información sobre los precios, consulta la página Precios de Dataplex Universal Catalog.
Siguientes pasos
- Consulta cómo usar la calidad de los datos automática.
- Consulta información sobre la creación de perfiles de datos.
- Consulta cómo usar la creación de perfiles de datos.