Descripción general de la calidad de los datos automática

En este documento, se describe la calidad automática de los datos de Dataplex, que te permite definir y medir la calidad de tus datos. Puedes automatizar el análisis de datos, validarlos con reglas definidas y registrar alertas si tu si los datos no cumplen con los requisitos de calidad. Puedes administrar 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 Generación de perfiles de datos de Dataplex recomendaciones de reglas o creando reglas personalizadas en la consola de Google Cloud. Dataplex ofrece herramientas de supervisión, solución de problemas Alertas de Cloud Logging que están integradas en Dataplex de forma automática la calidad de los datos.

Modelo conceptual

Un análisis de calidad de los datos aplica reglas de calidad a los datos de la tabla para informar los resultados.

Un análisis de datos es un trabajo de Dataplex que toma muestras de datos de BigQuery y Cloud Storage e infiere varios tipos de metadatos. Para medir la calidad de una tabla con la calidad de los datos automáticos, creas Un objeto DataScan de tipo data quality El análisis solo se ejecuta una tabla de BigQuery. El análisis usa recursos de una instancia de Google proyecto de usuario, de manera que no necesitas configurar tu propia infraestructura.

Para crear y usar un análisis de calidad de los datos, se deben seguir estos pasos:

  1. Define reglas de calidad de los datos
  2. Configura la ejecución de reglas
  3. Analiza los resultados del análisis de calidad de los datos
  4. Configura la supervisión y las alertas
  5. Soluciona problemas relacionados con la 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 los datos con sus expectativas. Puedes crear reglas de calidad de los datos de las siguientes maneras:

Reglas predefinidas

Dataplex admite dos categorías de reglas predefinidas: a nivel de fila o de datos agregados.

Nivel de fila

Para las reglas de categorías a nivel de fila, se aplica la expectativa en cada fila de datos. Cada fila pasa o pasa de forma independiente falla la condición. Por ejemplo, column_A_value < 1.

Las verificaciones a nivel de fila requieren que especifiques un umbral de aprobación. Cuando el porcentaje de filas que aprueban la regla cae por debajo del valor de umbral, la regla falla.

Agregación

Para las reglas de agregación, se espera que se aplican a un solo valor agregado en todos los datos. Por ejemplo, Avg(someCol) >= 10. Para aprobar, la verificación debe evaluarse como booleano true. Las reglas agregadas no proporcionan un pase independiente ni un reprobación para cada fila.

Para ambas categorías de reglas, puedes establecer los siguientes parámetros:

  • La columna a la que se aplica la regla.
  • Es una dimensión de un conjunto de dimensiones predefinidas.

En la siguiente tabla, se enumeran los tipos de reglas agregadas y de nivel de fila compatibles:

Tipo de regla
(nombre en la consola de Google Cloud)
Regla a nivel de fila o agregada Descripción Tipos de columnas admitidos Parámetros específicos de la regla
RangeExpectation
(Comprobación de rango)
Nivel de fila Verifica si el valor está entre el mínimo y el máximo. Todas las columnas numéricas, de fecha y de tipo de marca de tiempo. Obligatorio:
  • Porcentaje del umbral de aprobación
  • Valores mean, min o max: especificar al menos un valor.
Opcional:
  • Habilitar strict min: Si está habilitada, la verificación de reglas usa ">". en lugar de ">=".
  • Habilitar strict max: Si está habilitada, la verificación de reglas usa "<" en lugar de "<=".
  • Habilitar ignore null: Si se habilita, se ignoran los valores nulos. en la verificación de reglas.
NonNullExpectation
(Verificación nula)
Nivel de fila Valida que los valores de las columnas no sean NULL. Todos los tipos de columnas compatibles. Obligatorio:
  • Porcentaje del umbral de aprobación.
SetExpectation
(Establecer verificación)
Nivel de fila Comprueba si los valores en una columna son uno de los valores especificados en un conjunto. Todos los tipos de columna admitidos, excepto Record y Struct. Obligatorio:
  • Conjunto de valores de cadena para verificar.
  • Porcentaje del umbral de aprobación.
Opcional:
    .
  • Habilitar ignore null: Si se habilita, los valores nulos se ignoran en la verificación de reglas.
RegexExpectation
(Verificación de expresiones regulares)
Nivel de fila Verifica los valores con respecto a una expresión regular especificada. String Obligatorio:
  • Patrón de expresión regular que se usa para verificar.
  • Porcentaje del umbral de aprobación.
  • Nota: SQL estándar de Google proporciona de expresión regular con el re2; Consulta esa documentación para su sintaxis de expresión regular.
Opcional:
    .
  • Habilitar ignore null: Si se habilita, los valores nulos se ignoran en la verificación de reglas.
Uniqueness
(Comprobación de unicidad)
Agregación Verifica 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 las categorías compatibles parámetros.
Opcional:
    .
  • Habilitar ignore null: Si se habilita, los valores nulos se ignoran en la verificación de reglas.
StatisticRangeExpectation
(Comprobación estadística)
Agregación Verifica si la medida estadística dada coincide con la expectativa del rango. Todos los tipos de columnas numéricas compatibles. Obligatorio:
  • mean, min o Valores max: Especifica al menos un valor.
Opcional:
  • Habilitar strict min: Si está habilitada, la verificación de reglas usa ">". en lugar de ">=".
  • Habilitar strict max: Si está habilitada, la verificación de reglas usa "<" en lugar de "<=".

Tipos de reglas de SQL personalizadas compatibles

Las reglas de SQL proporcionan flexibilidad para expandir la validación con una lógica personalizada. Estos existen los siguientes tipos.

Tipo de regla Regla a nivel de fila o agregada Descripción Tipos de columnas admitidos Parámetros específicos de la regla Ejemplo
Condición de la fila Nivel de fila

Especifica una expectativa para cada fila definiendo un SQL en una cláusula WHERE. La expresión SQL debe evalúa como true (aprobada) o false (reprobada) por fila. Dataplex calcula el porcentaje de filas que se pasan esta expectativa y compara este valor con el porcentaje del umbral de aprobación para determinar el éxito o el fracaso de la regla.

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

Todas las columnas Obligatorio:
  • Condición de SQL para usar
  • Porcentaje del umbral de aprobación
  • Dimensión
Opcional:
  • Columna con la que se asociará esta regla.
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 SQL que Se evalúa como un valor booleano true (aprobado) o false (reprobado).

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

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

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

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

Aserción de SQL Agregación

Una regla de aserción usa una consulta de calidad de los datos para encontrar las filas que fallan una o más condiciones especificadas en la consulta. Proporciona una instrucción de SQL que muestre filas que coincidan con el estado no válido. Si el botón 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:
  • Instrucción de SQL para verificar un estado no válido
  • Dimensión
Opcional:
  • Columna con la que se asociará esta regla.

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

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

Para ver ejemplos de reglas, consulta reglas de muestra de la calidad de los datos automáticos.

Para conocer las funciones compatibles con SQL, consulta la referencia de GoogleSQL.

Dimensiones

Las dimensiones te permiten agregar los resultados de múltiples reglas de calidad de los datos para supervisión y alertas. Debes asociar cada regla de calidad de los datos con un dimensión. Dataplex admite las siguientes dimensiones:

  • Actualidad
  • Volumen
  • Integridad
  • Validez
  • Coherencia
  • Precisión
  • Unicidad

Entrada escrita en reglas

Todos los parámetros de valor se pasan como valores de cadena a la API. Dataplex requiere entradas para seguir Formato especificado de 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]] [zona_hora]
O AAAA-[M]M-[D]D[( |T)[H]H:[M]M:[S]S[.F]][time_zone_offset]
27-09-2014 12:30:00.45-08
Fecha AAAA-M[M]-D[D] 2014-09-27
Hora [H]M:[M]M:[S]S[.DDDDDD] 12:30:00.45
DateTime AAAA-[M]M-[D]D [[H]H:[M]M:[S]S[.DDDDDD]] 27-09-2014 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 todas de sus filtros de condiciones previas 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 fuente tabla y sus filtros. Algunos ejemplos de filtros de condiciones previas incluyen filtros de filas, porcentajes de muestreo y filtros incrementales.

Por ejemplo, digamos que tienes una tabla de fuente de datos llamada my_project_id.dim_dataset.dim_currency Quieres ejecutar una canalización incremental análisis de calidad que analiza solo datos diarios nuevos. Un filtro de fila que filtra las entradas de hoy, transaction_timestamp >= current_date(), se aplica en la desde una tabla de particiones.

Una regla de SQL personalizada para buscar 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 el de la tabla y sus filtros de condiciones previas con el ${data()} parámetro:

discount_pct IN (SELECT discount_pct FROM ${data()})

Dataplex interpreta el parámetro ${data()} como una la tabla de 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 se refiere solo a la de datos no estructurados.

El parámetro ${data()} distingue mayúsculas de minúsculas.

Cuando usas un alias dentro de una subconsulta para hacer referencia a columnas en la tabla fuente, usar el parámetro de referencia de datos para hacer referencia a la tabla de origen o bien omitir la referencia de tabla. No hagas referencia a las columnas de la tabla fuente usando un referencia de tabla directa 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 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 a una tabla directa para hacer referencia a columnas en la tabla fuente:

    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 la regla

Puedes programar análisis de calidad de los datos para que se ejecuten en un intervalo específico, o bien ejecutar un análisis a pedido. Para administrar los análisis de calidad de los datos, puedes usar la API o Consola de Google 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 indicar el alcance de un trabajo sea uno de los siguientes:

Tabla completa
Cada trabajo valida la tabla completa.
Incremental
Cada trabajo valida los datos incrementales. Para determinar incrementos, proporciona una columna Date / Timestamp en la que se puede utilizar como marcador. Por lo general, esta es la columna en la que una tabla particionada.

Filtra datos

Dataplex puede filtrar los datos que se analizarán en busca de su calidad a través de un filtro de filas. Crear un filtro de fila te permite enfocarte en los datos de una período o segmento específico, como una región determinada. Usar filtros puede reducir el tiempo y el costo de ejecución, por ejemplo, filtrar datos con una marca de tiempo antes de una fecha determinada.

Datos de muestra

Dataplex te permite especificar un porcentaje de registros de tus datos de muestra para ejecutar un análisis de calidad de los datos. Crear análisis de calidad de los datos en un una muestra de datos más pequeña puede reducir el tiempo de ejecución y el costo de consultar conjunto de datos completo.

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 del análisis con los siguientes métodos:

  • Exporta resultados a BigQuery

    Puedes exportar los resultados del análisis a una tabla de BigQuery para de análisis de datos en la nube. Para personalizar los informes, puedes conectar BigQuery datos de tablas a un panel de Looker. Puedes crear un informe agregado usando la misma tabla de resultados en varios análisis.

  • Publica resultados en la consola de Google Cloud

    Puedes publicar los resultados del análisis de calidad de los datos en la tabla de origen las páginas de BigQuery y Data Catalog del Consola de Google Cloud Los resultados del análisis más reciente están disponibles La pestaña Calidad de los datos de la tabla de origen

  • Revisa los niveles de calidad de los datos

    Cada resultado del análisis proporciona puntuaciones de calidad de los datos que indican el porcentaje de las reglas que se aprobaron. Las puntuaciones se informan a nivel general del trabajo, la columna el nivel (si la regla se evalúa respecto de una columna) y el nivel de la dimensión. Usa los niveles de calidad de los datos para normalizar la calidad de los datos en las tablas o columnas hacer un seguimiento de las tendencias e identificar los datos que no cumplen con los requisitos de calidad.

Para obtener más información, consulta Consulta los resultados del análisis de calidad de los datos.

Supervisión y alertas

Puedes supervisar y recibir alertas sobre análisis de la calidad de los datos con los siguientes métodos métodos:

  • Establece alertas en Cloud Logging

    Puedes supervisar los trabajos de calidad de los datos con data_scan y Registros de data_quality_scan_rule_result en el Explorador de registros.

    Para cada trabajo de calidad de los datos, el registro data_scan con el campo data_scan_type configurado en DATA_QUALITY, contiene la siguiente información:

    • Fuente de datos que se usa para el análisis de datos.
    • Detalles de ejecución del trabajo, como hora de creación, hora de inicio, hora de finalización el estado del trabajo.
    • Resultado del trabajo de calidad de los datos: aprobado o reprobado.
    • Nivel de dimensión aprobado o rechazado.

    Cada trabajo realizado correctamente contiene un data_quality_scan_rule_result registro con la siguiente información detallada sobre cada regla en ese trabajo:

    • La información de configuración, como el nombre de la regla, el tipo de regla, el tipo de evaluación y dimensión.
    • La información del resultado, como la aprobación o el error, la cantidad total de filas y las filas aprobadas recuento, recuento de filas nulas y recuento de filas evaluadas.

    La información de los registros está disponible a través de la API y Consola de Google Cloud Puedes usar esta información para configurar alertas. Para más información, consulta Establece alertas en Logging.

  • Enviar notificaciones por correo electrónico

    Puedes enviar notificaciones por correo electrónico para alertar a las personas sobre el estado y de un trabajo de calidad de los datos. Las 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 las notificaciones cuando crear un análisis de calidad de los datos

Soluciona problemas relacionados con la calidad de los datos

Cuando falla una regla, Dataplex genera una consulta para obtener el error. registros. Ejecuta esta consulta para ver los registros que no coinciden con tu regla. Para más información, consulta Soluciona problemas relacionados con la calidad de los datos.

Limitaciones

  • Los resultados del análisis de calidad de los datos no se publican en Data Catalog como rótulos nuevos rápidamente.
  • Las recomendaciones de reglas no son compatibles con gcloud CLI.
  • La elección de dimensiones se fija a una de las siete dimensiones predefinidas.
  • La cantidad de reglas por análisis de calidad de los datos se limita a 1,000.
  • Las notificaciones por correo electrónico solo se admiten en la API y gcloud CLI.
  • Se admiten los niveles de calidad de los datos que se informan a nivel de la columna. solo en la API.

Precios

  • Dataplex usa el SKU de procesamiento premium para cobrar los costos la calidad de los datos. Para obtener más información, consulta Precios de Dataplex.

  • La publicación de resultados automáticos de la calidad de los datos en el catálogo aún no está disponible. Cuando esté disponible, se cobrará a la misma tarifa que los metadatos del catálogo el precio del almacenamiento. 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 fallidos de la calidad de los datos.

  • El cargo depende del número de filas, de columnas, de los datos que analizaste, la configuración de las reglas de calidad de los datos, la configuración de la partición y el agrupamiento en clústeres en la tabla, y la frecuencia gscan.

  • Existen varias opciones para reducir el costo de los análisis automáticos de calidad de los datos:

  • Para separar los cargos por calidad de los datos de otros cargos en Dataplex SKU de procesamiento premium, en la Informe de Facturación de Cloud, usa la etiqueta goog-dataplex-workload-type con el valor DATA_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