Usar la calidad de datos automática

En esta página, se describe cómo crear un análisis de calidad de los datos de Dataplex.

Para obtener más información sobre los análisis de calidad de los datos, consulta Acerca de la calidad automática de los datos.

Antes de comenzar

  1. Habilita la API de Dataplex.

    Habilitar la API

  2. Opcional: Si quieres que Dataplex genere recomendaciones para las reglas de calidad de los datos según los resultados de un análisis de creación de perfiles de datos, crea y ejecuta el análisis de generación de perfiles de datos.

Permisos

  • Si quieres ejecutar un análisis de calidad de los datos en una tabla de BigQuery, necesitas permiso para leer la tabla de BigQuery y crear un trabajo de BigQuery en el proyecto que se usa para analizar la tabla.

  • Si la tabla de BigQuery y el análisis de calidad de los datos están en proyectos diferentes, debes otorgar a la cuenta de servicio de Dataplex del proyecto que contiene el permiso de lectura del análisis de calidad de los datos para la tabla de BigQuery correspondiente.

  • Si las reglas de calidad de los datos hacen referencia a tablas adicionales, la cuenta de servicio del proyecto de análisis debe tener permisos de lectura en las mismas tablas.

  • Para obtener los permisos que necesitas para exportar los resultados del análisis a una tabla de BigQuery, pídele a tu administrador que otorgue a la cuenta de servicio de Dataplex el rol de IAM de editor de datos de BigQuery (roles/bigquery.dataEditor) en el conjunto de datos y la tabla de resultados. Esto otorga los siguientes permisos:

    • bigquery.datasets.get
    • bigquery.tables.create
    • bigquery.tables.get
    • bigquery.tables.getData
    • bigquery.tables.update
    • bigquery.tables.updateData
  • Si los datos de BigQuery están organizados en un lake de Dataplex, otorga los roles roles/dataplex.metadataReader y roles/dataplex.viewer a la cuenta de servicio de Dataplex. Como alternativa, necesitas todos estos permisos:

    • dataplex.lakes.list
    • dataplex.lakes.get
    • dataplex.zones.list
    • dataplex.zones.get
    • dataplex.entities.list
    • dataplex.entities.get
    • dataplex.operations.get
  • Si analizas una tabla externa de BigQuery desde Cloud Storage, otorga a la cuenta de servicio de Dataplex el rol roles/storage.objectViewer de Cloud Storage para el bucket. Como alternativa, asigna los siguientes permisos a la cuenta de servicio de Dataplex:

    • storage.buckets.get
    • storage.objects.get
  • Si deseas publicar los resultados del análisis de calidad de los datos en las páginas de BigQuery y Data Catalog en la consola de Google Cloud para las tablas de origen, se te debe otorgar la función de IAM de Editor de datos de BigQuery (roles/bigquery.dataEditor) o el permiso bigquery.tables.update para la tabla.

  • Si necesitas acceder a columnas protegidas por políticas de acceso a nivel de columnas de BigQuery, asigna los permisos de la cuenta de servicio de Dataplex para esas columnas. El usuario que crea o actualiza un análisis de datos también necesita permisos para las columnas.

  • Si una tabla tiene habilitadas las políticas de acceso a nivel de fila de BigQuery, solo podrás analizar las filas visibles para la cuenta de servicio de Dataplex. Ten en cuenta que los privilegios de acceso de usuario individual no se evalúan según las políticas a nivel de fila.

Permisos y roles del análisis de datos

Si quieres usar la calidad automática de los datos, necesitas los permisos para ejecutar análisis de datos o una función con permisos predefinidos para ejecutar análisis de datos.

En la siguiente tabla, se enumeran los permisos DataScan:

Nombre del permiso Otorga permiso para hacer lo siguiente:
dataplex.datascans.create Crea una DataScan
dataplex.datascans.delete Borra una DataScan
dataplex.datascans.get Ver metadatos operativos, como ID o programación, pero no resultados ni reglas
dataplex.datascans.getData Ver DataScan detalles, incluidas las reglas y los resultados
dataplex.datascans.list Enumerar DataScans
dataplex.datascans.run Ejecuta una DataScan
dataplex.datascans.update Actualiza la descripción de un DataScan
dataplex.datascans.getIamPolicy Ver los permisos de IAM actuales en el análisis
dataplex.datascans.setIamPolicy Configurar permisos de IAM en el análisis

Otorga a los usuarios uno o más de los siguientes roles:

  • roles/dataplex.dataScanAdmin: Acceso completo a DataScan recursos.
  • roles/dataplex.dataScanEditor: Acceso de escritura a los recursos DataScan.
  • roles/dataplex.dataScanViewer: Acceso de lectura a los recursos DataScan sin incluir las reglas ni los resultados.
  • roles/dataplex.dataScanDataViewer: Acceso de lectura a los recursos DataScan, incluidas las reglas y los resultados.

Define reglas de calidad de los datos

Puedes definir reglas de calidad de los datos mediante reglas integradas o verificaciones de SQL personalizadas. Si usas Google Cloud CLI, puedes definir estas reglas en un archivo JSON o YAML.

En los ejemplos de las siguientes secciones, se muestra cómo definir una variedad de reglas de calidad de los datos. Las reglas validan una tabla de muestra que contiene datos sobre transacciones de clientes. Supongamos que la tabla tiene el siguiente esquema:

Nombre de la columna Tipo de columna Descripción de la columna
transaction_timestamp Marca de tiempo Marca de tiempo de la transacción. La tabla está particionada en este campo.
customer_id String Un ID de cliente con un formato de 8 letras seguidas de 16 dígitos
transaction_id String El ID de transacción debe ser único en toda la tabla.
currency_id String Una de las monedas admitidas.El tipo de moneda debe coincidir con una de las monedas disponibles en la tabla de dimensiones dim_currency.
cantidad float Importe de la transacción.
discount_pct float Porcentaje de descuento. Este valor debe estar entre 0 y 100.

Define reglas de calidad de los datos con tipos de reglas integrados

Las siguientes reglas de ejemplo se basan en tipos de reglas integradas. Puedes crear reglas basadas en tipos de reglas integradas mediante la consola de Google Cloud o la API. Dataplex podría recomendar algunas de estas reglas.

Nombre de la columna Tipo de regla Dimensión sugerida Parámetros de reglas
transaction_id Verificación de unicidad Unicidad Umbral: Not Applicable
amount Verificación de nulabilidad Integridad Umbral: 100%
customer_id Verificación de regex (expresión regular) Validez Expresión regular: ^[0-9]{8}[a-zA-Z]{16}$
Umbral: 100%
currency_id Verificación del valor establecido Validez Conjunto de: USD,JPY,INR,GBP,CAN
Umbral: 100%

Define reglas de calidad de los datos con reglas de SQL personalizadas

Para compilar reglas personalizadas de SQL, usa el siguiente framework:

  • Cuando crees una regla que evalúe una fila a la vez, crea una expresión que genere la cantidad de filas correctas cuando Dataplex evalúe la consulta SELECT COUNTIF(CUSTOM_SQL_EXPRESSION) FROM TABLE. Dataplex verifica la cantidad de filas exitosas con el umbral.

  • Cuando crees una regla que se evalúe en las filas o use una condición de tabla, crea una expresión que muestre el éxito o el fracaso cuando Dataplex evalúe la consulta SELECT IF(CUSTOM_SQL_EXPRESSION) FROM TABLE.

  • Cuando creas una regla que evalúa el estado no válido de un conjunto de datos, proporciona una instrucción que devuelva filas no válidas. Si se devuelven filas, la regla falla. Omite el punto y coma final de la instrucción de SQL.

  • Puedes hacer referencia a una tabla de fuente de datos y todos sus filtros de condiciones previas con el parámetro de referencia de datos ${data()} en una regla, en lugar de mencionar explícitamente la tabla de origen y sus filtros. Algunos ejemplos de filtros de condiciones previas incluyen filtros de fila, porcentajes de muestreo y filtros incrementales. El parámetro ${data()} distingue mayúsculas de minúsculas.

Los siguientes ejemplos de reglas se basan en reglas de SQL personalizadas.

Tipo de regla Descripción de la regla Expresión SQL
Condición de la fila Comprueba si el valor de discount_pct está entre 0 y 100. 0 <discount_pct Y discount_pct < 100
Condición de la fila Verificación de referencia para validar que currency_id sea una de las monedas admitidas currency_id in (select id from my_project_id.dim_dataset.dim_currency)
Condición de la tabla Expresión SQL agregada que verifica si el discount_pct promedio está entre el 30% y el 50%. 30<avg(discount) AND avg(discount) <50
Condición de la fila Comprueba si una fecha no es futura. TIMESTAMP(transaction_timestamp) < CURRENT_TIMESTAMP()
Condición de la tabla Una función definida por el usuario (UDF) de BigQuery para verificar que el importe promedio de la transacción sea menor que un valor predefinido por país. Ejecuta el siguiente comando para crear la UDF (Javascript):
        CREATE OR REPLACE FUNCTION
        myProject.myDataset.average_by_country (
          country STRING, average FLOAT64)
        RETURNS BOOL LANGUAGE js AS R"""
        if (country = "CAN" && average < 5000){
          return 1
        } else if (country = "IND" && average < 1000){
          return 1
        } else { return 0 }
        """;
       
Regla de ejemplo para verificar el importe promedio de las transacciones de country=CAN.
        myProject.myDataset.average_by_country(
        "CAN",
        (SELECT avg(amount) FROM
          myProject.myDataset.transactions_table
            WHERE currency_id = 'CAN'
        ))
      
Condición de la tabla Una cláusula de predicción de BigQuery ML para identificar anomalías en discount_pct. Verifica si se debe aplicar un descuento en función de customer, currency y transaction. La regla verifica si la predicción coincide con el valor real, al menos el 99% de las veces. Suposición: El modelo de AA se crea antes de usar la regla. Crea el modelo de AA con el siguiente comando:
  CREATE MODEL
  model-project-id.dataset-id.model-name
        OPTIONS(model_type='logistic_reg') AS
  SELECT
  IF(discount_pct IS NULL, 0, 1) AS label,
  IFNULL(customer_id, "") AS customer,
  IFNULL(currency_id, "") AS currency,
  IFNULL(amount, 0.0) AS amount
  FROM
  `data-project-id.dataset-id.table-names`
  WHERE transaction_timestamp < '2022-01-01';
  
La siguiente regla verifica si la exactitud de las predicciones es superior al 99%.
      SELECT
        accuracy > 0.99
      FROM
       ML.EVALUATE
        (MODEL model-project-id.dataset-id.model-name,
         (
          SELECT
            customer_id,
            currency_id,
            amount,
            discount_pct
          FROM
            data-project-id.dataset-id.table-names
          WHERE transaction_timestamp > '2022-01-01';
         )
        )
    
Condición de la fila Una función de predicción de BigQuery ML para identificar anomalías en discount_pct. La función verifica si se debe aplicar un descuento en función de customer, currency y transaction. La regla identifica todos los casos en los que la predicción no coincidió. Suposición: El modelo de AA se crea antes de usar la regla. Crea el modelo de AA con el siguiente comando:
  CREATE MODEL
  model-project-id.dataset-id.model-name
        OPTIONS(model_type='logistic_reg') AS
  SELECT
  IF(discount_pct IS NULL, 0, 1) AS label,
  IFNULL(customer_id, "") AS customer,
  IFNULL(currency_id, "") AS currency,
  IFNULL(amount, 0.0) AS amount
  FROM
  `data-project-id.dataset-id.table-names`
  WHERE transaction_timestamp < '2022-01-01';
  
Con la siguiente regla, se verifica si la predicción del descuento coincide con el real de cada fila.
       IF(discount_pct > 0, 1, 0)
          =(SELECT predicted_label FROM
           ML.PREDICT(
            MODEL model-project-id.dataset-id.model-name,
              (
                SELECT
                  customer_id,
                  currency_id,
                  amount,
                  discount_pct
                FROM
                  data-project-id.dataset-id.table-names AS t
                    WHERE t.transaction_timestamp =
                     transaction_timestamp
                   LIMIT 1
              )
            )
         )
    
Aserción de SQL Valida si el discount_pct es mayor que el 30% para hoy cuando verifica si existen filas con un porcentaje de descuento inferior o igual a 30. SELECT * FROM my_project_id.dim_dataset.dim_currency WHERE discount_pct <= 30 AND transaction_timestamp >= current_date()
Aserción de SQL (con parámetro de referencia de datos)

Verifica si el discount_pct es superior al 30% para todas las monedas admitidas en la actualidad.

El filtro de fechas transaction_timestamp >= current_date() se aplica como un filtro de fila en la tabla de fuente de datos.

El parámetro de referencia de datos ${data()} actúa como un marcador de posición para my_project_id.dim_dataset.dim_currency WHERE transaction_timestamp >= current_date() y aplica el filtro de fila.

SELECT * FROM ${data()} WHERE discount_pct > 30

Define reglas de calidad de los datos con gcloud CLI

En el siguiente archivo YAML de ejemplo, se usan algunas de las mismas reglas que las reglas de muestra con tipos integrados y las reglas de SQL personalizadas de muestra. Puedes usar este archivo YAML como entrada para el comando de gcloud CLI.

rules:
- uniquenessExpectation: {}
  column: transaction_id
  dimension: UNIQUENESS
- nonNullExpectation: {}
  column: amount
  dimension: COMPLETENESS
  threshold: 1
- regexExpectation:
    regex: '^[0-9]{8}[a-zA-Z]{16}$'
  column : customer_id
  ignoreNull : true
  dimension : VALIDITY
  threshold : 1
- setExpectation :
    values :
    - 'USD'
    - 'JPY'
    - 'INR'
    - 'GBP'
    - 'CAN'
  column : currency_id
  ignoreNull : true
  dimension : VALIDITY
  threshold : 1
- rangeExpectation:
    minValue : '0'
    maxValue : '100'
  column : discount_pct
  ignoreNull : true
  dimension : VALIDITY
  threshold : 1
- rowConditionExpectation:
    sqlExpression : 0 < `discount_pct` AND `discount_pct` < 100
  column: discount_pct
  dimension: VALIDITY
  threshold: 1
- rowConditionExpectation:
    sqlExpression : currency_id in (select id from `my_project_id.dim_dataset.dim_currency`)
  column: currency_id
  dimension: VALIDITY
  threshold: 1
- tableConditionExpectation:
    sqlExpression : 30 < avg(discount_pct) AND avg(discount_pct) < 50
  dimension: VALIDITY
- rowConditionExpectation:
    sqlExpression : TIMESTAMP(transaction_timestamp) < CURRENT_TIMESTAMP()
  column: transaction_timestamp
  dimension: VALIDITY
  threshold: 1
- sqlAssertion:
    sqlStatement : SELECT * FROM `my_project_id.dim_dataset.dim_currency` WHERE discount_pct > 100
  dimension: VALIDITY

Crea un análisis de calidad de los datos

Console

  1. En la consola de Google Cloud, ve a la página Calidad de los datos.

    Ir a Calidad de los datos

  2. Haz clic en Crear análisis de calidad de los datos.

  3. En la ventana Define scan, completa los siguientes campos:

    1. Ingresa un Nombre visible.

    2. El ID del análisis se genera automáticamente si no proporcionas tu propio ID. Consulta la convención de nomenclatura de recursos.

    3. Ingresa una Descripción (opcional).

    4. En el campo Tabla, haz clic en Explorar, elige tu tabla y haz clic en Seleccionar. Dataplex admite solo tablas estándar de BigQuery.

      Para las tablas en conjuntos de datos multirregionales, elige una región en la que se creará el análisis de datos.

      Para explorar las tablas organizadas en el lake de Dataplex, haz clic en Explorar dentro de los lakes de Dataplex.

    5. En el campo Alcance, elige Incrementales o Datos completos.

      • Si eliges Incremental: En el campo Timestamp column, selecciona una columna de tipo DATE o TIMESTAMP de tu tabla de BigQuery que aumente de forma monotónica y se pueda usar para identificar registros nuevos. Puede ser una columna que particiona la tabla.
    6. Opcional: Agrega etiquetas. Las etiquetas son pares key:value que te permiten agrupar objetos relacionados o con otros recursos de Google Cloud.

    7. Para filtrar tus datos, haz clic en Filtros. Selecciona la casilla de verificación Filtrar filas. El valor de entrada para el filtro de fila debe ser una expresión de SQL válida que se pueda usar como parte de una cláusula WHERE en la sintaxis de SQL estándar de BigQuery. Por ejemplo, col1 >= 0. El filtro puede ser una combinación de varias condiciones de columna. Por ejemplo, col1 >= 0 AND col2 < 10.

    8. Para muestrear tus datos, en la lista Tamaño de muestreo, selecciona un porcentaje de muestreo. Elige un valor porcentual que puede variar entre 0.0% y 100.0%, con hasta 3 dígitos decimales. Para conjuntos de datos más grandes, elige un porcentaje de muestreo más bajo. Por ejemplo, para una tabla de aproximadamente 1 PB, si ingresas un valor entre 0.1% y 1.0%, Dataplex muestrea entre 1 y 10 TB de datos. Para los análisis de datos incrementales, Dataplex aplica el muestreo al último incremento.

    9. Si deseas publicar los resultados del análisis de calidad de los datos en las páginas de BigQuery y Data Catalog en Google Cloud Console para la tabla de origen, haz clic en la casilla de verificación Publicar resultados en la IU de BigQuery y Dataplex Catalog. Puedes ver los resultados del análisis más recientes en la pestaña Calidad de los datos de las páginas de BigQuery y Data Catalog de la tabla de origen. Para permitir que los usuarios accedan a los resultados del análisis publicados, consulta Comparte los resultados publicados. Es posible que la opción de publicación no esté disponible en los siguientes casos:

      • No tienes los permisos necesarios en la tabla.
      • Otro análisis de calidad de los datos está configurado para publicar resultados.

      Si quieres obtener más información sobre los permisos necesarios para ver los resultados publicados, consulta Permisos.

    10. Haz clic en Continuar.

  4. En la ventana Programa, elige una de las siguientes opciones:

    • Repetir: Ejecuta el trabajo de análisis de calidad de los datos según un programa, ya sea diario, semanal, mensual o personalizado. Especifica con qué frecuencia se ejecuta el análisis y a qué hora. Si eliges la opción personalizada, usa el formato cron para especificar el programa.

    • A pedido: Ejecuta tu trabajo de análisis de calidad de los datos a pedido.

    Haz clic en Continuar.

  5. En la ventana Reglas de calidad de los datos, define las reglas que se configurarán para este análisis de calidad de los datos. Haz clic en Agregar reglas y, luego, elige una de las siguientes opciones.

    • Recomendaciones basadas en perfiles: Compila reglas a partir de las recomendaciones según un análisis de creación de perfiles de datos existente.

      1. Elegir columnas: Selecciona las columnas para las que deseas obtener reglas recomendadas.

      2. Proyecto de análisis: Son recomendaciones basadas en un análisis de generación de perfiles de datos existente. De forma predeterminada, Dataplex selecciona los análisis de generación de perfiles del mismo proyecto en el que creas el análisis de calidad de los datos. Si creaste el análisis en un proyecto diferente, debes especificar el proyecto del que deseas extraer los análisis de perfil.

      3. Elegir resultados del perfil: Según las columnas y el proyecto que selecciones, aparecerán varios resultados de perfiles.

      4. Selecciona uno o más resultados del perfil y haz clic en OK. Se propagará una lista de reglas para seleccionar.

      5. Para elegir las reglas que deseas editar, marca las casillas y haz clic en Seleccionar. Una vez seleccionadas, las reglas se agregan a tu lista de reglas actual. Luego, puedes editar las reglas.

    • Tipos de reglas integradas: Crea reglas a partir de reglas predefinidas. Consulte la lista de reglas predefinidas.

      1. Elegir columnas: Selecciona las columnas para las que deseas seleccionar las reglas.

      2. Elegir tipos de reglas: Según las columnas que selecciones, aparecerán varios tipos de reglas para seleccionar.

      3. Selecciona uno o más tipos de reglas y, luego, haz clic en Aceptar. Esto propagará una lista de reglas para seleccionar.

      4. Para seleccionar las reglas que deseas editar, marca las casillas y haz clic en Seleccionar. Una vez seleccionadas, las reglas se agregarán a tu lista de reglas actual. Luego, puedes editar las reglas.

    • Regla de verificación de filas de SQL: Crea una regla de SQL personalizada para aplicar a cada fila (regla de verificación de filas de SQL personalizada).

      1. En Dimensión, elige una dimensión.

      2. En Umbral de aprobación, elige un porcentaje de registros que deben pasar la verificación.

      3. En Nombre de la columna, elige una columna.

      4. En el campo Proporciona una expresión SQL, ingresa una expresión de SQL que se evalúe como un valor booleano true (aprobado) o false (reprobado). Para obtener más información, consulta Tipos de reglas de SQL personalizadas compatibles y los ejemplos de la sección Define reglas de calidad de los datos de este documento.

      5. Haz clic en Agregar.

    • Regla de verificación de agregación de SQL: Crea una regla de condición de tabla de SQL personalizada.

      1. En Dimensión, elige una dimensión.

      2. En Nombre de la columna, elige una columna.

      3. En el campo Proporciona una expresión SQL, ingresa una expresión de SQL que se evalúe como un valor booleano true (aprobado) o false (reprobado). Para obtener más información, consulta Tipos de reglas de SQL personalizadas compatibles y los ejemplos de la sección Define reglas de calidad de los datos de este documento.

      4. Haz clic en Agregar.

    • Regla de aserción de SQL: Crea una regla de aserción de SQL personalizada para verificar un estado no válido de los datos.

      1. En Dimensión, elige una dimensión.

      2. Opcional: En Nombre de la columna, elige una columna.

      3. En el campo Proporciona una instrucción de SQL, ingresa una instrucción de SQL que muestre filas que coincidan con el estado no válido. Si se muestran filas, esta regla falla. Omite el punto y coma final de la instrucción de SQL. Para obtener más información, consulta Tipos de reglas de SQL personalizadas compatibles y los ejemplos de la sección Define reglas de calidad de los datos de este documento.

      4. Haz clic en Agregar.

    Dataplex permite usar nombres personalizados para reglas de calidad de datos. Para cualquier regla de calidad de los datos, puedes asignar un nombre de regla personalizada y una descripción. Para ello, edita una regla y especifica los siguientes detalles:

    • Nombre de la regla: Ingresa un nombre para la regla personalizada con hasta 63 caracteres. El nombre de la regla puede incluir letras (a-z, A-Z), dígitos (0-9) y guiones (-), y debe comenzar con una letra y terminar con un número o una letra.
    • Descripción: Ingresa una descripción de la regla con una longitud máxima de 1,024 caracteres.

    Haz clic en Continuar.

  6. Opcional: Exporta los resultados del análisis a una tabla estándar de BigQuery. Haz clic en Explorar para seleccionar un conjunto de datos de BigQuery existente a fin de almacenar los resultados del análisis de calidad de los datos.

    Si la tabla especificada no existe, Dataplex la crea por ti. Si usas una tabla existente, asegúrate de que sea compatible con el esquema de tabla de exportación.

  7. Haz clic en Crear.

    Después de crear el análisis, puedes ejecutarlo en cualquier momento haciendo clic en Ejecutar ahora.

gcloud

Para crear un análisis de calidad de los datos, usa el comando gcloud dataplex datascans create data-quality.

Si los datos de origen están organizados en un lake de Dataplex, incluye la marca --data-source-entity:

gcloud dataplex datascans create data-quality DATASCAN \
    --location=LOCATION \
    --data-quality-spec-file=DATA_QUALITY_SPEC_FILE \
    --data-source-entity=DATA_SOURCE_ENTITY

Si los datos de origen no están organizados en un lake de Dataplex, incluye la marca --data-source-resource:

gcloud dataplex datascans create data-quality DATASCAN \
    --location=LOCATION \
    --data-quality-spec-file=DATA_QUALITY_SPEC_FILE \
    --data-source-resource=DATA_SOURCE_RESOURCE

Reemplaza las siguientes variables:

  • DATASCAN: El nombre del análisis de calidad de los datos.
  • LOCATION: Es la región de Google Cloud en la que se creará el análisis de calidad de los datos.
  • DATA_QUALITY_SPEC_FILE: Es la ruta al archivo JSON o YAML que contiene las especificaciones para el análisis de calidad de los datos. Puede ser local o una ruta de Cloud Storage con el prefijo gs://. Usa este archivo para especificar las reglas de calidad de los datos para el análisis. También puedes especificar detalles adicionales en este archivo, como filtros, porcentaje de muestreo y acciones posteriores al análisis, como exportar a BigQuery o enviar notificaciones por correo electrónico. Consulta la documentación sobre la representación JSON.
  • DATA_SOURCE_ENTITY: La entidad de Dataplex que contiene los datos para el análisis de calidad de los datos. Por ejemplo, projects/test-project/locations/test-location/lakes/test-lake/zones/test-zone/entities/test-entity
  • DATA_SOURCE_RESOURCE: Es el nombre del recurso que contiene los datos para el análisis de calidad de los datos. Por ejemplo, //bigquery.googleapis.com/projects/test-project/datasets/test-dataset/tables/test-table

REST

Usa el Explorador de APIs para crear un análisis de calidad de los datos.

Si deseas crear reglas para el análisis de calidad de los datos con recomendaciones de reglas basadas en los resultados de un análisis de generación de perfiles de datos, llama al método dataScans.jobs.generateDataQualityRules en el análisis de generación de perfiles de datos para obtener las recomendaciones.

Exportar esquema de tabla

Para exportar los resultados del análisis de calidad de los datos a una tabla de BigQuery existente, asegúrate de que sea compatible con el siguiente esquema de tabla:

Nombre de la columna Tipo de datos de la columna Nombre del subcampo
(si corresponde)
Tipo de datos de subcampo Modo Ejemplo
data_quality_scan struct/record resource_name string anulable //dataplex.googleapis.com/projects/test-project/locations/europe-west2/datascans/test-datascan
project_id string anulable dataplex-back-end-dev-project
location string anulable us-central1
data_scan_id string anulable test-datascan
data_source struct/record resource_name string anulable Caso de entidad:
//dataplex.googleapis.com/projects/dataplex-back-end-dev-project/locations/europe-west2/lakes/a0-datascan-test-lake/zones/a0-datascan-test-zone/entities/table1

Caso de tabla: //bigquery.googleapis.com/projects/test-project/datasets/test-dataset/tables/test-table
dataplex_entity_project_id string anulable dataplex-back-end-dev-project
dataplex_entity_project_number integer anulable 123456789
dataplex_lake_id string anulable (Válido solo si la fuente es una entidad)
test-lake
dataplex_zone_id string anulable (Válido solo si la fuente es una entidad)
test-zone
dataplex_entity_id string anulable (Válido solo si la fuente es una entidad)
test-entity
table_project_id string anulable test-project
table_project_number integer anulable 987654321
dataset_id string anulable (Válido solo si la fuente es una tabla)
test-dataset
table_id string anulable (Válido solo si la fuente es una tabla)
test-table
data_quality_job_id string anulable caeba234-cfde-4fca-9e5b-fe02a9812e38
data_quality_job_configuration json trigger string anulable ondemand/schedule
incremental boolean anulable true/false
sampling_percent float anulable (0-100)
20.0 (indica un 20%)
row_filter string anulable col1 >= 0 AND col2 < 10
job_labels json anulable {"key1":value1}
job_start_time timestamp anulable 2023-01-01 00:00:00 UTC
job_end_time timestamp anulable 2023-01-01 00:00:00 UTC
job_rows_scanned integer anulable 7500
rule_name string anulable test-rule
rule_type string anulable Range Check
rule_evaluation_type string anulable Per row
rule_column string anulable Rule only attached to a certain column
rule_dimension string anulable UNIQUENESS
job_quality_result struct/record passed boolean anulable true/false
score float anulable 90.8
job_dimension_result json anulable {"ACCURACY":{"passed":true,"score":100},"CONSISTENCY":{"passed":false,"score":60}}
rule_threshold_percent float anulable (de 0.0 a 100.0)
Rule-threshold-pct in API * 100
rule_parameters json anulable {min: 24, max:5345}
rule_pass boolean anulable True
rule_rows_evaluated integer anulable 7400
rule_rows_passed integer anulable 3
rule_rows_null integer anulable 4
rule_failed_records_query string anulable "SELECT * FROM `test-project.test-dataset.test-table` WHERE (NOT((`cTime` >= '15:31:38.776361' and `cTime` <= '19:23:53.754823') IS TRUE));"

Cuando configures BigQueryExport para un trabajo de análisis de calidad de los datos, sigue estos lineamientos:

  • Para el campo resultsTable, usa el formato: //bigquery.googleapis.com/projects/{project-id}/datasets/{dataset-id}/tables/{table-id}.
  • Usar una tabla estándar de BigQuery
  • Si la tabla no existe cuando se crea o actualiza el análisis, Dataplex crea la tabla por ti.
  • De forma predeterminada, la tabla se particiona en la columna job_start_time a diario.
  • Si deseas que la tabla se particionara en otras configuraciones o si no quieres la partición, vuelve a crear la tabla con el esquema y la configuración requeridos y, luego, proporciona la tabla creada previamente como la tabla de resultados.
  • Asegúrate de que la tabla de resultados se encuentre en la misma ubicación que la tabla de origen.
  • Si VPC-SC está configurada en el proyecto, la tabla de resultados debe estar en el mismo perímetro de VPC-SC que la tabla de origen.
  • Si la tabla se modifica durante la etapa de ejecución de análisis, el trabajo en ejecución actual se exportará a la tabla de resultados anterior y el cambio en la tabla tendrá efecto a partir del siguiente trabajo de análisis.
  • No modifiques el esquema de la tabla. Si necesitas columnas personalizadas, crea una vista sobre la tabla.
  • Para reducir costos, configura un vencimiento para la partición según tu caso de uso. Para obtener más información, consulta cómo configurar el vencimiento de la partición.

Ejecuta un análisis de calidad de los datos

Console

  1. En la consola de Google Cloud, ve a la página Calidad de los datos.

    Ir a Calidad de los datos

  2. Haz clic en el análisis de calidad de los datos para ejecutarlo.

  3. Haz clic en Ejecutar ahora.

gcloud

Para ejecutar un análisis de calidad de los datos, usa el comando gcloud dataplex datascans run:

gcloud dataplex datascans run DATASCAN \
--location=LOCATION \

Reemplaza las siguientes variables:

  • LOCATION: Es la región de Google Cloud en la que se creó el análisis de calidad de los datos.
  • DATASCAN: El nombre del análisis de calidad de los datos.

REST

Usa el Explorador de APIs para ejecutar tu análisis de calidad de los datos.

Consulta los resultados del análisis de calidad de los datos

Console

  1. En la consola de Google Cloud, ve a la página Calidad de los datos.

    Ir a Calidad de los datos

  2. Para ver los resultados detallados de un análisis, haz clic en el nombre del análisis.

    • En la sección Descripción general, se muestra información sobre los últimos siete trabajos, incluido el momento en que se ejecutó el análisis, la cantidad de registros analizados en cada trabajo, si se aprobaron todas las verificaciones de calidad de los datos, si se produjeron fallas, la cantidad de verificaciones de calidad de los datos que fallaron y qué dimensiones fallaron.

    • En la sección Configuración del análisis de calidad de los datos, se muestran detalles sobre el análisis.

  3. Para ver los niveles de calidad de los datos que indican el porcentaje de reglas que se aprobaron, haz clic en la pestaña Historial de trabajos. Luego, haz clic en un ID de trabajo.

gcloud

Para ver los resultados de un trabajo de análisis de calidad de los datos, usa el comando gcloud dataplex datascans jobs describe:

gcloud dataplex datascans jobs describe JOB \
--location=LOCATION \
--datascan=DATASCAN \
--view=FULL

Reemplaza las siguientes variables:

  • JOB: El ID de trabajo del trabajo de análisis de calidad de los datos.
  • LOCATION: Es la región de Google Cloud en la que se creó el análisis de calidad de los datos.
  • DATASCAN: El nombre del análisis de calidad de los datos al que pertenece el trabajo
  • --view=FULL: Para ver el resultado del trabajo de análisis, especifica FULL.

REST

Usa el Explorador de APIs para ver los resultados de un análisis de calidad de los datos.

Visualiza los resultados del análisis histórico

Dataplex guarda el historial de análisis de calidad de los datos de los últimos 300 trabajos o del año pasado, lo que ocurra primero.

Console

  1. En la consola de Google Cloud, ve a la página Calidad de los datos.

    Ir a Calidad de los datos

  2. Haz clic en el nombre de un análisis.

  3. Haz clic en la pestaña Historial de trabajos.

    En la pestaña Historial de trabajos, se proporciona información sobre los trabajos anteriores. Enumera todos los trabajos, la cantidad de registros analizados en cada uno, el estado del trabajo, la hora en que se ejecutó, si cada regla se aprobó o falló y mucho más.

  4. Para ver información detallada sobre un trabajo, haz clic en cualquiera de los trabajos de la columna ID de trabajo.

gcloud

Para ver todos los trabajos de un análisis de calidad de los datos, usa el comando gcloud dataplex datascans jobs list:

gcloud dataplex datascans jobs list \
--location=LOCATION \
--datascan=DATASCAN \

Reemplaza las siguientes variables:

  • LOCATION: Es la región de Google Cloud en la que se creó el análisis de calidad de los datos.
  • DATASCAN: El nombre del análisis de calidad de los datos para ver todos los trabajos.

REST

Usa el Explorador de APIs para ver todos los trabajos de análisis.

Compartir los resultados publicados

Cuando creas un análisis de calidad de los datos, si elegiste publicar los resultados del análisis en las páginas de BigQuery y Data Catalog en la consola de Google Cloud, los resultados del análisis más recientes estarán disponibles en la pestaña Calidad de los datos de esas páginas.

Puedes permitir que los usuarios de tu organización accedan a los resultados del análisis publicado. Para otorgar acceso a los resultados del análisis, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página Calidad de los datos.

    Ir a Calidad de los datos

  2. Haz clic en el análisis de calidad de los datos cuyos resultados deseas compartir.

  3. Ve a la pestaña Permisos.

  4. Haz clic en Otorgar acceso.

  5. En el campo Principales nuevas, agrega la principal a la que deseas otorgar acceso.

  6. En el campo Selecciona un rol, selecciona Dataplex DataScan DataViewer.

  7. Haz clic en Guardar.

Para quitar el acceso a los resultados del análisis publicados de una principal, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página Calidad de los datos.

    Ir a Calidad de los datos

  2. Haz clic en el análisis de calidad de los datos cuyos resultados deseas compartir.

  3. Ve a la pestaña Permisos.

  4. Selecciona la principal para la que deseas quitar el rol Dataplex DataScan DataViewer.

  5. Haga clic en Quitar acceso.

  6. Haz clic en Confirm.

Establece alertas en Cloud Logging

Para establecer alertas de fallas en la calidad de los datos mediante los registros de Cloud Logging, sigue estos pasos:

Console

  1. En la consola de Google Cloud, ve al Explorador de registros de Cloud Logging.

    Ir al Explorador de registros

  2. En la ventana Consulta, ingresa tu consulta. Revisa las consultas de muestra.

  3. Haz clic en Ejecutar consulta.

  4. Haz clic en Crear alerta. Se abrirá un panel lateral.

  5. Ingresa el nombre de tu política de alertas y haz clic en Siguiente.

  6. Revisa la consulta.

    1. Haz clic en el botón Preview Logs para probar tu consulta. Esto muestra registros con condiciones que coinciden.

    2. Haz clic en Siguiente.

  7. Establece el tiempo entre notificaciones y haz clic en Siguiente.

  8. Define quién debe recibir la notificación de la alerta y haz clic en Guardar para crear la política de alertas.

Como alternativa, puedes configurar y editar tus alertas. Para ello, navega en la consola de Google Cloud a Monitoring > Alertas.

gcloud

No compatible.

REST

Usa el Explorador de APIs para configurar alertas en Cloud Logging.

Consultas de muestra para configurar alertas a nivel del trabajo o de la dimensión

  • Una consulta de muestra para establecer alertas sobre errores generales de calidad de los datos para un análisis de calidad de los datos:

    resource.type="dataplex.googleapis.com/DataScan"
    AND labels."dataplex.googleapis.com/data_scan_state"="SUCCEEDED"
    AND resource.labels.resource_container="projects/112233445566"
    AND resource.labels.datascan_id="a0-test-dec6-dq-3"
    AND NOT jsonPayload.dataQuality.passed=true
    
  • Una consulta de muestra para establecer alertas sobre fallas en la calidad de los datos de una dimensión (por ejemplo, unicidad) de un análisis de calidad de los datos determinado:

    resource.type="dataplex.googleapis.com/DataScan"
    AND labels."dataplex.googleapis.com/data_scan_state"="SUCCEEDED"
    AND resource.labels.resource_container="projects/112233445566"
    AND resource.labels.datascan_id="a0-test-dec6-dq-3"
    AND jsonPayload.dataQuality.dimensionPassed.UNIQUENESS=false
    
  • Consulta de muestra para establecer alertas sobre fallas en la calidad de los datos de una tabla.

    • Establece alertas sobre fallas en la calidad de los datos para una tabla de BigQuery que no está organizada en un lake de Dataplex:

      resource.type="dataplex.googleapis.com/DataScan"
      AND jsonPayload.dataSource="//bigquery.googleapis.com/projects/test-project/datasets/testdataset/table/chicago_taxi_trips"
      AND labels."dataplex.googleapis.com/data_scan_state"="SUCCEEDED"
      AND resource.labels.resource_container="projects/112233445566"
      AND NOT jsonPayload.dataQuality.passed=true
      
    • Configura alertas sobre fallas en la calidad de los datos para una tabla de BigQuery organizada en un lake de Dataplex:

      resource.type="dataplex.googleapis.com/DataScan"
      AND jsonPayload.dataSource="projects/test-project/datasets/testdataset/table/chicago_taxi_trips"
      AND labels."dataplex.googleapis.com/data_scan_state"="SUCCEEDED"
      AND resource.labels.resource_container="projects/112233445566"
      AND NOT jsonPayload.dataQuality.passed=true
      

Consultas de muestra para configurar alertas por regla

  • Una consulta de muestra para establecer alertas sobre todas las reglas de calidad de los datos con errores con el nombre de la regla personalizada especificada para un análisis de calidad de los datos:

    resource.type="dataplex.googleapis.com/DataScan"
    AND jsonPayload.ruleName="custom-name"
    AND jsonPayload.result="FAILED"
    
  • Una consulta de muestra para configurar alertas sobre todas las reglas de calidad de los datos con errores de un tipo de evaluación específico para un análisis de calidad de los datos:

    resource.type="dataplex.googleapis.com/DataScan"
    AND jsonPayload.evalutionType="PER_ROW"
    AND jsonPayload.result="FAILED"
    
  • Una consulta de muestra para establecer alertas sobre todas las reglas de calidad de los datos con errores para una columna en la tabla que se usa en un análisis de calidad de los datos:

    resource.type="dataplex.googleapis.com/DataScan"
    AND jsonPayload.column="CInteger"
    AND jsonPayload.result="FAILED"
    

Soluciona problemas relacionados con la calidad de los datos

Por cada trabajo con reglas a nivel de fila que fallan, Dataplex proporciona una consulta para obtener los registros con errores. Ejecuta esta consulta para ver los registros que no coincidieron con tu regla.

Console

  1. En la consola de Google Cloud, ve a la página Calidad de los datos.

    Ir a Calidad de los datos

  2. Haz clic en el nombre del análisis en cuyos registros deseas solucionar problemas.

  3. Haz clic en la pestaña Historial de trabajos.

  4. Haz clic en el ID del trabajo que identificó errores en la calidad de los datos.

  5. En la ventana de resultados de trabajo que se abre, en la sección Reglas, busca la columna Consulta para obtener registros con errores. Haz clic en Copiar consulta en el portapapeles para la regla con errores.

  6. Ejecuta la consulta en BigQuery para ver los registros que causaron que el trabajo falle.

gcloud

No compatible.

REST

Usa el Explorador de APIs para ver la consulta a fin de obtener registros con errores para trabajos con errores.

Actualizar un análisis de calidad de los datos

Console

  1. En la consola de Google Cloud, ve a la página Calidad de los datos.

    Ir a Calidad de los datos

  2. En la fila con el análisis que deseas editar, haz clic en los tres puntos verticales > Editar.

  3. Edite los valores.

  4. Haz clic en Guardar.

gcloud

Para actualizar la descripción de un análisis de calidad de los datos, usa el comando gcloud dataplex datascans update data-quality:

gcloud dataplex datascans update data-quality DATASCAN \
--location=LOCATION \
--description=DESCRIPTION

Reemplaza lo siguiente:

  • DATASCAN: El nombre del análisis de calidad de los datos que se actualizará.
  • LOCATION: Es la región de Google Cloud en la que se creó el análisis de calidad de los datos.
  • DESCRIPTION: Es la descripción nueva del análisis de calidad de los datos.

REST

Usa el Explorador de APIs para editar tu análisis de calidad de los datos.

Cómo borrar un análisis de calidad de los datos

Console

  1. En la consola de Google Cloud, ve a la página Calidad de los datos.

    Ir a Calidad de los datos

  2. Haz clic en el análisis que quieres borrar.

  3. Haz clic en Borrar.

gcloud

Para borrar un análisis de calidad de los datos, usa el comando gcloud dataplex datascans delete:

gcloud dataplex datascans delete DATASCAN \
--location=LOCATION \
--async

Reemplaza las siguientes variables:

  • DATASCAN: El nombre del análisis de calidad de los datos que se borrará.
  • LOCATION: Es la región de Google Cloud en la que se creó el análisis de calidad de los datos.

REST

Usa el Explorador de APIs para borrar tu análisis de calidad de los datos.

Próximos pasos