Información general sobre la calidad de los datos de Auto

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 calidad de los datos aplica reglas de calidad a los datos de una tabla para generar un informe con los resultados.

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:

  1. Definir reglas de calidad de los datos
  2. Configurar la ejecución de reglas
  3. Analizar los resultados de un análisis de calidad de los datos
  4. Configurar la monitorización y las alertas
  5. 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:

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 booleano true. 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:
  • Porcentaje del umbral de aprobación
  • Valores de min o max: especifique al menos un valor.
Opcional:
  • Habilitar strict min: si está habilitada, la comprobación de la regla usa ">" en lugar de ">=".
  • Habilitar strict max: si está habilitada, la comprobación de la regla usa "<" en lugar de "<=".
  • Habilitar ignore null: si se habilita, los valores nulos se ignoran en la comprobación de la regla.
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:
  • Porcentaje del umbral de aprobación.
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:
  • Conjunto de valores de cadena con los que se va a comparar.
  • Porcentaje del umbral de aprobación.
Opcional:
  • Habilitar ignore null: si se habilita, los valores nulos se ignoran en la comprobación de la regla.
RegexExpectation
(Comprobación de expresiones regulares)
A nivel de fila Comprueba los valores con una expresión regular especificada. Cadena Obligatorio:
  • Patrón de expresión regular usado para comprobar.
  • Porcentaje del umbral de aprobación.
  • Nota: GoogleSQL ofrece compatibilidad con expresiones regulares mediante la biblioteca re2. Consulta la documentación para ver la sintaxis de las expresiones regulares.
Opcional:
  • Habilitar ignore null: si se habilita, los valores nulos se ignoran en la comprobación de la regla.
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:
  • Columna y dimensión de los parámetros admitidos.
Opcional:
  • Habilitar ignore null: si se habilita, los valores nulos se ignoran en la comprobación de la regla.
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:
  • Valores de mean, min o max: especifica al menos un valor.
Opcional:
  • Habilitar strict min: si está habilitada, la comprobación de la regla usa ">" en lugar de ">=".
  • Habilitar strict max: si está habilitada, la comprobación de la regla usa "<" en lugar de "<=".

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 WHERE. La expresión SQL debe dar como resultado true (aprobado) o false (suspenso) por fila. Dataplex Universal Catalog calcula el porcentaje de filas que cumplen esta expectativa y compara este valor con el porcentaje del umbral de cumplimiento para determinar si la regla se ha aplicado correctamente o no.

La expresión puede incluir una referencia a otra tabla, por ejemplo, para crear comprobaciones de integridad referencial.

Todas las columnas Obligatorio:
  • Condición SQL que se va a usar
  • Porcentaje del umbral de aprobación
  • Dimensión
Opcional:
  • Columna a la que se asociará esta regla.
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 true (aprobado) o false (suspendido).

La expresión SQL puede incluir una referencia a otra tabla mediante subconsultas de expresiones.

Todas las columnas Obligatorio:
  • Condición SQL que se va a usar
  • Dimensión
Opcional:
  • Columna a la que se asociará esta regla

Ejemplo de agregación simple:
avg(price) > 100

Usar una subconsulta de expresión para comparar valores de otra tabla:
(SELECT COUNT(*) FROM `example_project.example_dataset.different-table`) < COUNT(*)

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:
  • Instrucción SQL para comprobar el estado no válido
  • Dimensión
Opcional:
  • Columna a la que se asociará esta regla.

Ejemplo de agregación simple para asegurarse de que discount_pct no sea superior a 100:
SELECT * FROM example_project.example_dataset.table WHERE discount_pct > 100

Usar una subconsulta de expresión para comparar valores de otra tabla:
SELECT * FROM `example_project.example_dataset.different-table` WHERE gross_weight > (SELECT avg(gross_weight) FROM `example_project.example_dataset.different-table`)

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 y data_quality_scan_rule_result del Explorador de registros.

    En cada tarea de calidad de los datos, el registro data_scan con el campo data_scan_type definido como DATA_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