En esta página se describe cómo crear un análisis de calidad de datos de Dataplex Universal Catalog.
Para obtener información sobre los análisis de calidad de los datos, consulta el artículo Acerca de la calidad automática de los datos.
Antes de empezar
-
Enable the Dataplex API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. - Opcional: Si quieres que Dataplex Universal Catalog genere recomendaciones de reglas de calidad de los datos basadas en los resultados de un análisis de perfil de datos, crea y ejecuta el análisis de perfil de datos.
Roles obligatorios
Para ejecutar un análisis de calidad de los datos en una tabla de BigQuery, necesitas permiso para leer la tabla de BigQuery y para crear un trabajo de BigQuery en el proyecto usado para analizar la tabla.
Si la tabla de BigQuery y el análisis de calidad de los datos están en proyectos diferentes, debes dar permiso de lectura a la cuenta de servicio de Dataplex Universal Catalog del proyecto que contiene el análisis de calidad de los datos para la tabla de BigQuery correspondiente.
Si las reglas de calidad de los datos hacen referencia a otras tablas, la cuenta de servicio del proyecto de análisis debe tener permisos de lectura en esas tablas.
Para obtener los permisos que necesitas para exportar los resultados del análisis a una tabla de BigQuery, pide a tu administrador que asigne a la cuenta de servicio del catálogo universal de Dataplex el rol de gestión de identidades y accesos Editor de datos de BigQuery (
roles/bigquery.dataEditor
) en el conjunto de datos y la tabla de resultados. Esto concede 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 Universal Catalog, concede a la cuenta de servicio de Dataplex Universal Catalog los roles de gestión de identidades y accesos Lector de metadatos de Dataplex (
roles/dataplex.metadataReader
) y Lector de Dataplex (roles/dataplex.viewer
). También puede tener todos los permisos siguientes:dataplex.lakes.list
dataplex.lakes.get
dataplex.zones.list
dataplex.zones.get
dataplex.entities.list
dataplex.entities.get
dataplex.operations.get
Si vas a analizar una tabla externa de BigQuery desde Cloud Storage, asigna a la cuenta de servicio de Universal Catalog de Dataplex el rol Lector de objetos de Storage (
roles/storage.objectViewer
) en el bucket. También puede asignar a la cuenta de servicio de Dataplex Universal Catalog los siguientes permisos:storage.buckets.get
storage.objects.get
Si quieres publicar los resultados del análisis de calidad de los datos como metadatos de Dataplex Universal Catalog, debes tener asignado el rol Editor de datos de BigQuery (
roles/bigquery.dataEditor
) de IAM en la tabla y el permisodataplex.entryGroups.useDataQualityScorecardAspect
en el grupo de entradas@bigquery
de la misma ubicación que la tabla. También puede tener asignado el rol Editor de catálogo de Dataplex (roles/dataplex.catalogEditor
) en el grupo de entradas@bigquery
de la misma ubicación que la tabla.También puede tener todos los permisos siguientes:
bigquery.tables.update
- on the tabledataplex.entryGroups.useDataQualityScorecardAspect
: en el@bigquery
grupo de entradas
También puedes tener todos los permisos siguientes:
dataplex.entries.update
: en el grupo de entradas@bigquery
dataplex.entryGroups.useDataQualityScorecardAspect
: en el@bigquery
grupo de entradas
Si necesitas acceder a columnas protegidas por políticas de acceso a nivel de columna de BigQuery, asigna permisos a la cuenta de servicio de Universal Catalog de Dataplex para esas columnas. El usuario que cree o actualice 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 puedes analizar las filas visibles para la cuenta de servicio de Universal Catalog de Dataplex. Ten en cuenta que los privilegios de acceso de cada usuario no se evalúan en las políticas a nivel de fila.
Roles obligatorios para analizar datos
Para usar la calidad de los datos automática, pide a tu administrador que te conceda uno de los siguientes roles de gestión de identidades y accesos:
- Acceso completo a los recursos de
DataScan
: administrador de Dataplex DataScan (roles/dataplex.dataScanAdmin
) - Para crear recursos de
DataScan
, se necesita el rol Creador de análisis de datos de Dataplex (roles/dataplex.dataScanCreator
) en el proyecto. - Acceso de escritura a los recursos de
DataScan
: editor de análisis de datos de Dataplex (roles/dataplex.dataScanEditor
) - Acceso de lectura a los recursos de
DataScan
, excepto las reglas y los resultados: Visor de DataScan de Dataplex (roles/dataplex.dataScanViewer
) - Acceso de lectura a los recursos de
DataScan
, incluidas las reglas y los resultados: Dataplex DataScan DataViewer (roles/dataplex.dataScanDataViewer
)
En la siguiente tabla se enumeran los permisos de DataScan
:
Nombre del permiso | Concede permiso para hacer lo siguiente: |
---|---|
dataplex.datascans.create |
Crear un DataScan |
dataplex.datascans.delete |
Eliminar un DataScan |
dataplex.datascans.get |
Ver metadatos operativos, como el ID o la programación, pero no los resultados ni las reglas |
dataplex.datascans.getData |
Ver los detalles de DataScan , incluidas las reglas y los resultados |
dataplex.datascans.list |
Listar DataScan s |
dataplex.datascans.run |
Ejecutar DataScan |
dataplex.datascans.update |
Actualizar la descripción de un DataScan |
dataplex.datascans.getIamPolicy |
Ver los permisos de gestión de identidades y accesos actuales de la exploración |
dataplex.datascans.setIamPolicy |
Definir permisos de gestión de identidades y accesos en la búsqueda |
Definir reglas de calidad de los datos
Puedes definir reglas de calidad de los datos mediante reglas integradas o comprobaciones SQL personalizadas. Si usas la CLI de Google Cloud, puedes definir estas reglas en un archivo JSON o YAML.
En los ejemplos de las siguientes secciones se muestra cómo definir varias reglas de calidad de los datos. Las reglas validan una tabla de ejemplo que contiene datos sobre las transacciones de los 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 tiene particiones en este campo. |
customer_id | Cadena | Un ID de cliente con el formato de 8 letras seguidas de 16 dígitos. |
transaction_id | Cadena | El ID de transacción debe ser único en toda la tabla. |
currency_id | Cadena | Una de las monedas admitidas.El tipo de moneda debe coincidir con una de las monedas disponibles en la tabla de dimensiones dim_currency .
|
amount | flotante | Importe de la transacción. |
discount_pct | flotante | Porcentaje de descuento. Este valor debe estar comprendido entre 0 y 100. |
Definir reglas de calidad de los datos con tipos de reglas integrados
Las siguientes reglas de ejemplo se basan en tipos de reglas integrados. Puedes crear reglas basadas en tipos de reglas predefinidos mediante la Google Cloud consola o la API. Dataplex Universal Catalog puede recomendar algunas de estas reglas.
Nombre de la columna | Tipo de regla | Dimensión sugerida | Parámetros de la regla |
---|---|---|---|
transaction_id |
Comprobación de singularidad | Singularidad | Umbral: Not Applicable |
amount |
Comprobación de valores nulos | Completeness | Umbral: 100% |
customer_id |
Comprobación de regex (expresión regular) | Validez | Expresión regular: ^[0-9]{8}[a-zA-Z]{16}$ Umbral: 100%
|
currency_id |
Comprobación de conjunto de valores | Validez | Conjunto de: USD,JPY,INR,GBP,CAN Umbral: 100%
|
Definir reglas de calidad de los datos con reglas SQL personalizadas
Para crear reglas SQL personalizadas, utilice la siguiente estructura:
Cuando creas una regla que evalúa las filas de una en una, debes crear una expresión que genere el número de filas correctas cuando Dataplex Universal Catalog evalúe la consulta
SELECT COUNTIF(CUSTOM_SQL_EXPRESSION) FROM TABLE
. Dataplex Universal Catalog compara el número de filas correctas con el umbral.Cuando creas una regla que evalúa las filas o usa una condición de tabla, crea una expresión que devuelva un valor de éxito o de error cuando Dataplex Universal Catalog evalúe la consulta
SELECT IF(CUSTOM_SQL_EXPRESSION) FROM TABLE
.Cuando crees una regla que evalúe el estado no válido de un conjunto de datos, proporciona una instrucción que devuelva filas no válidas. Si se devuelve alguna fila, la regla falla. Omite el punto y coma final de la instrucción SQL.
Puedes hacer referencia a una tabla de una fuente de datos y a todos sus filtros de condición previa usando el parámetro de referencia de datos
${data()}
en una regla, en lugar de mencionar explícitamente la tabla de origen y sus filtros. Entre los ejemplos de filtros de precondición se incluyen los filtros de filas, los porcentajes de muestreo y los filtros incrementales. En el parámetro${data()}
se distingue entre mayúsculas y minúsculas.
Las siguientes reglas de ejemplo se basan en reglas SQL personalizadas.
Tipo de regla | Descripción de la regla | Expresión SQL |
---|---|---|
Condición de fila | Comprueba si el valor de discount_pct
está comprendido entre 0 y 100.
|
0 <discount_pct AND discount_pct < 100
|
Condición de fila | Comprobación de referencias para validar que currency_id es una de las monedas admitidas.
|
currency_id in (select id from my_project_id.dim_dataset.dim_currency)
|
Estado de la mesa | Expresión SQL agregada que comprueba si la media de discount_pct está entre el 30% y el 50%.
|
30<avg(discount) AND avg(discount) <50
|
Condición de fila | Comprueba si una fecha no es posterior a la actual. | TIMESTAMP(transaction_timestamp) < CURRENT_TIMESTAMP()
|
Estado de la mesa |
Una función definida por el usuario (UDF) de BigQuery
para comprobar que el importe medio de las transacciones es inferior a un valor predefinido por país. Crea la función definida por el usuario (UDF) de JavaScript ejecutando el siguiente comando:
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 comprobar el importe medio de las transacciones de country=CAN .
myProject.myDataset.average_by_country( "CAN", (SELECT avg(amount) FROM myProject.myDataset.transactions_table WHERE currency_id = 'CAN' )) |
Estado de la mesa | Una cláusula predict de BigQuery ML
para identificar anomalías en discount_pct . Comprueba si se debe aplicar un descuento en función de customer , currency y transaction . La regla comprueba si la predicción coincide con el valor real al menos el 99% de las veces. Supuesto: el modelo de aprendizaje automático se crea antes de usar la regla. Crea el modelo de aprendizaje automático 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 comprueba si la precisión de la predicción 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 fila | Una función de predicción de BigQuery ML para identificar anomalías en discount_pct . La función
comprueba si se debe aplicar un descuento en función de customer ,
currency y transaction .
La regla identifica todas las ocasiones en las que la predicción no ha coincidido.
Supuesto: el modelo de aprendizaje automático 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 comprueba si la predicción del descuento coincide con el valor 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 superior al 30% para hoy
comprobando si hay alguna fila 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) | Comprueba si el El filtro de fecha El parámetro de referencia de datos |
SELECT * FROM ${data()} WHERE discount_pct > 30 |
Definir reglas de calidad de los datos con gcloud CLI
El siguiente archivo YAML de ejemplo usa algunas de las mismas reglas que las reglas de ejemplo con tipos integrados y las reglas de SQL personalizadas de ejemplo. Este archivo YAML también contiene otras especificaciones para el análisis de calidad de los datos, como filtros y el porcentaje de muestreo. Cuando usas la CLI de gcloud para crear o actualizar un análisis de calidad de los datos, puedes usar un archivo YAML como este como entrada para el argumento --data-quality-spec-file
.
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
samplingPercent: 50
rowFilter: discount_pct > 100
postScanActions:
bigqueryExport:
resultsTable: projects/my_project_id/datasets/dim_dataset/tables/dim_currency
notificationReport:
recipients:
emails:
- '222larabrown@gmail.com'
- 'cloudysanfrancisco@gmail.com'
scoreThresholdTrigger:
scoreThreshold: 50
jobFailureTrigger: {}
jobEndTrigger: {}
catalogPublishingEnabled: true
Crear un análisis de calidad de los datos
Consola
En la Google Cloud consola, ve a la página Elaboración de perfiles y calidad de los datos de Universal Catalog de Dataplex.
Haga clic en Crear análisis de calidad de los datos.
En la ventana Define scan (Definir análisis), rellena los siguientes campos:
Opcional: Introduce un Nombre visible.
Introduce un ID. Consulta las convenciones para asignar nombres de recursos.
Opcional: Introduce una Descripción.
En el campo Tabla, haz clic en Buscar. Elige la tabla que quieras escanear y, a continuación, haz clic en Seleccionar. Solo se admiten tablas estándar de BigQuery.
En el caso de las tablas de conjuntos de datos multirregionales, elige una región en la que crear el análisis de datos.
Para consultar las tablas organizadas en los lagos de Dataplex Universal Catalog, haz clic en Consultar en lagos de Dataplex.
En el campo Ámbito, elija Incremental o Todos los datos.
- Si eliges Incremental (Incremental): en el campo Timestamp column (Columna de marca de tiempo), selecciona una columna de tipo
DATE
oTIMESTAMP
de tu tabla de BigQuery que aumente a medida que se añadan registros y que se pueda usar para identificar registros nuevos. Puede ser una columna que cree particiones en la tabla.
- Si eliges Incremental (Incremental): en el campo Timestamp column (Columna de marca de tiempo), selecciona una columna de tipo
Para filtrar los datos, marca la casilla Filtrar filas. Proporciona un filtro de filas que consista en una expresión SQL válida que se pueda usar como parte de una cláusula
WHERE
en la sintaxis de GoogleSQL. Por ejemplo,col1 >= 0
. El filtro puede ser una combinación de varias condiciones de columna. Por ejemplo,col1 >= 0 AND col2 < 10
.Para tomar una muestra de los datos, en la lista Tamaño de la muestra, seleccione un porcentaje de muestreo. Elige un valor porcentual entre 0,0% y 100,0% con un máximo de 3 decimales. En el caso de conjuntos de datos más grandes, elija un porcentaje de muestreo más bajo. Por ejemplo, en una tabla de 1 PB, si introduces un valor entre el 0,1% y el 1,0%, el análisis de calidad de los datos toma una muestra de entre 1 y 10 TB de datos. En el caso de los análisis de datos incrementales, el análisis de calidad de los datos aplica el muestreo al incremento más reciente.
Para publicar los resultados del análisis de calidad de los datos como metadatos de Dataplex Universal Catalog, marca la casilla Publicar resultados en BigQuery y Dataplex Catalog.
Puede ver los resultados del análisis más reciente en la pestaña Calidad de los datos de las páginas Catálogo universal de BigQuery y Dataplex de la tabla de origen. Para permitir que los usuarios accedan a los resultados de los análisis publicados, consulta la sección Conceder acceso a los resultados de los análisis de perfil de datos de este documento.
En la sección Programación, elija una de las siguientes opciones:
Repetir: ejecuta el análisis de calidad de los datos de forma programada: cada hora, cada día, cada semana, cada mes o de forma personalizada. 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 la programación.
Bajo demanda: ejecuta el análisis de calidad de los datos bajo demanda.
Haz clic en Continuar.
En la ventana Reglas de calidad de los datos, defina las reglas que quiera configurar para este análisis de calidad de los datos.
Haz clic en Añadir reglas y, a continuación, elige una de las siguientes opciones.
Recomendaciones basadas en perfiles: crea reglas a partir de las recomendaciones basadas en un análisis de perfilado de datos.
Elegir columnas: selecciona las columnas de las que quieras obtener reglas recomendadas.
Elegir proyecto de análisis: si el análisis de elaboración de perfiles de datos se encuentra en un proyecto distinto del proyecto en el que estás creando el análisis de calidad de los datos, selecciona el proyecto del que quieras extraer los análisis de perfil.
Elegir resultados del perfil: selecciona uno o varios resultados del perfil y, a continuación, haz clic en Aceptar. De esta forma, se rellena una lista de reglas sugeridas que puedes usar como punto de partida.
Marque la casilla de las reglas que quiera añadir y, a continuación, haga clic en Seleccionar. Una vez seleccionadas, las reglas se añadirán a la lista de reglas actual. Después, puedes editar las reglas.
Tipos de reglas integradas: crea reglas a partir de reglas predefinidas. Consulta la lista de reglas predefinidas.
Elegir columnas: selecciona las columnas para las que quieras elegir reglas.
Elegir tipos de reglas: selecciona los tipos de reglas que quieras elegir y, a continuación, haz clic en Aceptar. Los tipos de reglas que aparecen dependen de las columnas que haya seleccionado.
Marque la casilla de las reglas que quiera añadir y, a continuación, haga clic en Seleccionar. Una vez seleccionadas, las reglas se añadirán a tu lista de reglas actual. Después, puedes editar las reglas.
Regla de comprobación de filas de SQL: crea una regla de SQL personalizada para aplicarla a cada fila.
En Dimensión, elija una dimensión.
En Umbral de superación, elige el porcentaje de registros que deben superar la comprobación.
En Nombre de columna, elija una columna.
En el campo Proporciona una expresión SQL, introduce una expresión SQL que dé como resultado un valor booleano
true
(correcto) ofalse
(incorrecto). Para obtener más información, consulta Tipos de reglas SQL personalizadas admitidos y los ejemplos de Definir reglas de calidad de los datos.Haz clic en Añadir.
Regla de comprobación de agregación de SQL: crea una regla de condición de tabla SQL personalizada.
En Dimensión, elija una dimensión.
En Nombre de columna, elija una columna.
En el campo Proporciona una expresión SQL, introduce una expresión SQL que dé como resultado un valor booleano
true
(correcto) ofalse
(incorrecto). Para obtener más información, consulta Tipos de reglas SQL personalizadas admitidos y los ejemplos de Definir reglas de calidad de los datos.Haz clic en Añadir.
Regla de aserción de SQL: crea una regla de aserción de SQL personalizada para comprobar si los datos tienen un estado no válido.
En Dimensión, elija una dimensión.
Opcional: En Nombre de columna, elija una columna.
En el campo Provide a SQL statement (Proporciona una instrucción SQL), introduce una instrucción SQL que devuelva las filas que coincidan con el estado no válido. Si se devuelve alguna fila, esta regla falla. Omite el punto y coma final de la instrucción SQL. Para obtener más información, consulta los tipos de reglas SQL personalizadas admitidos y los ejemplos de Definir reglas de calidad de los datos.
Haz clic en Añadir.
Opcional: En cualquier regla de calidad de los datos, puede asignar un nombre de regla personalizado para usarlo en la monitorización y las alertas, así como una descripción. Para ello, edita una regla y especifica los siguientes detalles:
- Nombre de la regla: introduce un nombre personalizado para la regla (máximo 63 caracteres). El nombre de la regla puede incluir letras (a-z, A-Z), números (0-9) y guiones (-), y debe empezar por una letra y terminar por un número o una letra.
- Descripción: introduce una descripción de la regla con una longitud máxima de 1024 caracteres.
Repite los pasos anteriores para añadir más reglas al análisis de calidad de los datos. Cuando hayas terminado, haz clic en Continuar.
Opcional: Exporta los resultados del análisis a una tabla estándar de BigQuery. En la sección Export scan results to BigQuery table (Exportar resultados del análisis a una tabla de BigQuery), haz lo siguiente:
En el campo Seleccionar conjunto de datos de BigQuery, haga clic en Buscar. Selecciona un conjunto de datos de BigQuery para almacenar los resultados del análisis de calidad de los datos.
En el campo Tabla de BigQuery, especifica la tabla en la que se deben almacenar los resultados del análisis de calidad de los datos. Si usas una tabla que ya tienes, asegúrate de que sea compatible con el esquema de la tabla de exportación. Si la tabla especificada no existe, Dataplex Universal Catalog la crea por ti.
Opcional: añade etiquetas. Las etiquetas son pares clave-valor que te permiten agrupar objetos relacionados entre sí o con otros Google Cloud recursos.
Opcional: Configura informes de notificaciones por correo para alertar a los usuarios sobre el estado y los resultados de un trabajo de análisis de calidad de los datos. En la sección Informe de notificaciones, haz clic en
Añadir ID de correo e introduce hasta cinco direcciones de correo. A continuación, selecciona los escenarios de los que quieras recibir informes:- Nivel de calidad (≤): envía un informe cuando un trabajo se completa correctamente con un nivel de calidad de los datos inferior al objetivo especificado. Introduce una puntuación de calidad objetivo entre 0 y 100.
- Errores de tareas: envía un informe cuando la tarea falla, independientemente de los resultados de calidad de los datos.
- Finalización del trabajo (correcta o incorrecta): envía un informe cuando finaliza el trabajo, independientemente de los resultados de calidad de los datos.
Haz clic en Crear.
Una vez creado el análisis, puede 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 lago de Dataplex Universal Catalog, incluya 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 lago de Dataplex Universal Catalog, incluya 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
Sustituye las siguientes variables:
DATASCAN
: nombre del análisis de calidad de los datos.LOCATION
: región en la que se va a crear el análisis de calidad de los datos. Google CloudDATA_QUALITY_SPEC_FILE
: ruta al archivo JSON o YAML que contiene las especificaciones del análisis de calidad de los datos. El archivo puede ser un archivo local o una ruta de Cloud Storage con el prefijogs://
. Utilice este archivo para especificar las reglas de calidad de los datos del análisis. También puede especificar detalles adicionales en este archivo, como filtros, porcentaje de muestreo y acciones posteriores al análisis, como exportar a BigQuery o enviar informes de notificaciones por correo electrónico. Consulta la documentación sobre la representación JSON y la representación YAML de ejemplo.DATA_SOURCE_ENTITY
: entidad de Dataplex Universal Catalog que contiene los datos del 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
: nombre del recurso que contiene los datos del análisis de calidad de los datos. Por ejemplo,//bigquery.googleapis.com/projects/test-project/datasets/test-dataset/tables/test-table
.
REST
Para crear un análisis de calidad de los datos, usa el método dataScans.create
.
Si quiere crear reglas para el análisis de calidad de los datos mediante recomendaciones de reglas basadas en los resultados de un análisis de perfilado de datos, obtenga las recomendaciones llamando al método dataScans.jobs.generateDataQualityRules
en el análisis de perfilado de datos.
Exportar el esquema de una tabla
Para exportar los resultados del análisis de calidad de los datos a una tabla de BigQuery, asegúrese de que sea compatible con el siguiente esquema de tabla:
Nombre de la columna | Tipo de datos de la columna | Nombre del subcampo (si procede) |
Tipo de datos del subcampo | Modo | Ejemplo |
---|---|---|---|---|---|
data_quality_scan | struct/record |
resource_name |
string |
Permite valores nulos | //dataplex.googleapis.com/projects/test-project/locations/europe-west2/datascans/test-datascan |
project_id |
string |
Permite valores nulos | dataplex-back-end-dev-project |
||
location |
string |
Permite valores nulos | us-central1 |
||
data_scan_id |
string |
Permite valores nulos | test-datascan |
||
data_source | struct/record |
resource_name |
string |
Permite valores nulos | 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 |
Permite valores nulos | dataplex-back-end-dev-project |
||
dataplex_entity_project_number |
integer |
Permite valores nulos | 123456789 |
||
dataplex_lake_id |
string |
Permite valores nulos | (Válido solo si la fuente es una entidad)test-lake
|
||
dataplex_zone_id |
string |
Permite valores nulos | (Válido solo si la fuente es una entidad)test-zone |
||
dataplex_entity_id |
string |
Permite valores nulos | (Válido solo si la fuente es una entidad)test-entity |
||
table_project_id |
string |
Permite valores nulos | test-project |
||
table_project_number |
integer |
Permite valores nulos | 987654321 |
||
dataset_id |
string |
Permite valores nulos | (Solo es válido si la fuente es una tabla)test-dataset |
||
table_id |
string |
Permite valores nulos | (Solo es válido si la fuente es una tabla)test-table |
||
data_quality_job_id | string |
Permite valores nulos | caeba234-cfde-4fca-9e5b-fe02a9812e38 |
||
data_quality_job_configuration | json |
trigger |
string |
Permite valores nulos | ondemand /schedule |
incremental |
boolean |
Permite valores nulos | true /false |
||
sampling_percent |
float |
Permite valores nulos | (0-100)20.0 (indica el 20%) |
||
row_filter |
string |
Permite valores nulos | col1 >= 0 AND col2 < 10 |
||
job_labels | json |
Permite valores nulos | {"key1":value1} |
||
job_start_time | timestamp |
Permite valores nulos | 2023-01-01 00:00:00 UTC |
||
job_end_time | timestamp |
Permite valores nulos | 2023-01-01 00:00:00 UTC |
||
job_rows_scanned | integer |
Permite valores nulos | 7500 |
||
rule_name | string |
Permite valores nulos | test-rule |
||
rule_type | string |
Permite valores nulos | Range Check |
||
rule_evaluation_type | string |
Permite valores nulos | Per row |
||
rule_column | string |
Permite valores nulos | Rule only attached to a certain column |
||
rule_dimension | string |
Permite valores nulos | UNIQUENESS |
||
job_quality_result | struct/record |
passed |
boolean |
Permite valores nulos | true /false |
score |
float |
Permite valores nulos | 90.8 |
||
job_dimension_result | json |
Permite valores nulos | {"ACCURACY":{"passed":true,"score":100},"CONSISTENCY":{"passed":false,"score":60}}
|
||
rule_threshold_percent | float |
Permite valores nulos | (0,0-100,0)Rule-threshold-pct in API * 100 |
||
rule_parameters | json |
Permite valores nulos | {min: 24, max:5345} |
||
rule_pass | boolean |
Permite valores nulos | True |
||
rule_rows_evaluated | integer |
Permite valores nulos | 7400 |
||
rule_rows_passed | integer |
Permite valores nulos | 3 |
||
rule_rows_null | integer |
Permite valores nulos | 4 |
||
rule_failed_records_query | string |
Permite valores nulos | "SELECT * FROM `test-project.test-dataset.test-table` WHERE (NOT((`cTime` >= '15:31:38.776361' and `cTime` <= '19:23:53.754823') IS TRUE));" |
||
rule_assertion_row_count | integer |
Permite valores nulos | 10 |
Cuando configures BigQueryExport para una tarea de análisis de calidad de los datos, sigue estas directrices:
- En 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 Universal Catalog la crea automáticamente.
- De forma predeterminada, la tabla se particiona diariamente en la columna
job_start_time
. - Si quieres que la tabla se particione con otras configuraciones o no quieres que se particione, vuelve a crear la tabla con el esquema y las configuraciones necesarios y, a continuación, proporciona la tabla creada previamente como tabla de resultados.
- Asegúrate de que la tabla de resultados esté en la misma ubicación que la tabla de origen.
- Si los Controles de Servicio de VPC están configurados en el proyecto, la tabla de resultados debe estar en el mismo perímetro de los Controles de Servicio de VPC que la tabla de origen.
- Si la tabla se modifica durante la fase de ejecución del análisis, la tarea en curso exporta los datos a la tabla de resultados anterior y el cambio en la tabla se aplica a partir de la siguiente tarea de análisis.
- No modifiques el esquema de la tabla. Si necesitas columnas personalizadas, crea una vista de la tabla.
- Para reducir los costes, establece una fecha de vencimiento para la partición en función de tu caso de uso. Para obtener más información, consulte cómo establecer la caducidad de la partición.
Realizar un análisis de calidad de los datos
Consola
En la Google Cloud consola, ve a la página Elaboración de perfiles y calidad de los datos de Universal Catalog de Dataplex.
Haga clic en el análisis de calidad de los datos para ejecutarlo.
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 \
Sustituye las siguientes variables:
LOCATION
: la región en la que se creó el análisis de calidad de los datos. Google CloudDATASCAN
: nombre del análisis de calidad de los datos.
REST
Para ejecutar un análisis de calidad de los datos, usa el método dataScans.run
.
Ver los resultados del análisis de calidad de los datos
Consola
En la Google Cloud consola, ve a la página Elaboración de perfiles y calidad de los datos de Universal Catalog de Dataplex.
Haga clic en el nombre de un análisis de calidad de los datos.
En la sección Resumen se muestra información sobre los trabajos más recientes, como cuándo se ejecutó el análisis, el número de registros analizados en cada trabajo, si se superaron todas las comprobaciones de calidad de los datos y, en caso de que se produjeran errores, el número de comprobaciones de calidad de los datos que no se superaron.
En la sección Configuración de la comprobación de calidad de los datos se muestran detalles sobre la comprobación.
Para ver información detallada sobre un trabajo, como las puntuaciones de calidad de los datos que indican el porcentaje de reglas que se han cumplido, las reglas que no se han cumplido y los registros del trabajo, haga clic en la pestaña Historial de trabajos. A continuación, haz clic en un ID de tarea.
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
Sustituye las siguientes variables:
JOB
: el ID del trabajo de análisis de calidad de los datos.LOCATION
: la Google Cloud región en la que se creó el análisis de calidad de los datos.DATASCAN
: 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, especificaFULL
.
REST
Para ver los resultados de un análisis de calidad de los datos, usa el método dataScans.get
.
Ver los resultados publicados
Si los resultados del análisis de calidad de los datos se publican como metadatos de Dataplex Universal Catalog, puede ver los resultados más recientes en las páginas de BigQuery y Dataplex Universal Catalog de laGoogle Cloud consola, en la pestaña Calidad de los datos de la tabla de origen.
En la Google Cloud consola, ve a la página Búsqueda de Dataplex Universal Catalog.
Busca la tabla y selecciónala.
Haga clic en la pestaña Calidad de los datos.
Se muestran los últimos resultados publicados.
Ver el historial de resultados de análisis
Dataplex Universal Catalog guarda el historial de análisis de calidad de los datos de los últimos 300 trabajos o del último año, lo que ocurra primero.
Consola
En la Google Cloud consola, ve a la página Elaboración de perfiles y calidad de los datos de Universal Catalog de Dataplex.
Haga clic en el nombre de un análisis de calidad de los datos.
Haz clic en la pestaña Historial de trabajos.
La pestaña Historial de trabajos proporciona información sobre los trabajos anteriores, como el número de registros analizados en cada trabajo, el estado del trabajo, la hora en la que se ejecutó y si se ha superado o no cada regla.
Para ver información detallada sobre un trabajo, haz clic en cualquiera de los trabajos de la columna ID de trabajo.
gcloud
Para ver el historial de trabajos de análisis de calidad de los datos, usa el comando gcloud dataplex datascans jobs list
:
gcloud dataplex datascans jobs list \ --location=LOCATION \ --datascan=DATASCAN \
Sustituye las siguientes variables:
LOCATION
: la Google Cloud región en la que se creó el análisis de calidad de los datos.DATASCAN
: nombre del análisis de calidad de los datos del que quieres ver el historial de trabajos.
REST
Para ver el historial de tareas de análisis de calidad de los datos, usa el método dataScans.jobs.list
.
Conceder acceso a los resultados de análisis de calidad de los datos
Para que los usuarios de tu organización puedan ver los resultados del análisis, haz lo siguiente:
En la Google Cloud consola, ve a la página Elaboración de perfiles y calidad de los datos de Universal Catalog de Dataplex.
Haz clic en el análisis de calidad de los datos cuyos resultados quieras compartir.
Haz clic en la pestaña Permisos.
Sigue estos pasos:
- Para conceder acceso a un principal, haz clic en Conceder acceso. Asigna el rol Dataplex DataScan DataViewer al principal asociado.
- Para quitar el acceso a un principal, selecciona el principal al que quieras quitarle el rol Dataplex DataScan DataViewer. Haz clic en Quitar acceso y, a continuación, confirma la acción cuando se te pida.
Configurar alertas en Cloud Logging
Para configurar alertas de fallos de calidad de los datos mediante los registros de Cloud Logging, sigue estos pasos:
Consola
En la Google Cloud consola, ve a Cloud Logging > Explorador de registros.
En la ventana Consulta, escribe tu consulta. Consulta consultas de ejemplo.
Haz clic en Ejecutar consulta.
Haz clic en Crear alerta. Se abrirá un panel lateral.
Escribe el nombre de la política de alertas y haz clic en Siguiente.
Revisa la consulta.
Haz clic en el botón Vista previa de registros para probar tu consulta. Se muestran los registros que cumplen las condiciones.
Haz clic en Siguiente.
Define el tiempo entre notificaciones y haz clic en Siguiente.
Define quién debe recibir la notificación de la alerta y haz clic en Guardar para crear la política de alertas.
También puedes configurar y editar tus alertas en la consola. Para ello, ve a Monitorización > Alertas.Google Cloud
gcloud
No es compatible.
REST
Para obtener más información sobre cómo configurar alertas en Cloud Logging, consulta el artículo Crear una política de alertas basada en registros con la API de Monitoring.
Consultas de ejemplo para definir alertas a nivel de tarea o de dimensión
Consulta de ejemplo para definir alertas sobre los fallos generales de calidad de los datos de 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
Consulta de ejemplo para definir alertas sobre fallos de calidad de los datos de una dimensión (por ejemplo, la exclusividad) de un análisis de calidad de los datos concreto:
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 ejemplo para definir alertas sobre fallos en la calidad de los datos de una tabla.
Define alertas sobre fallos de calidad de los datos de una tabla de BigQuery que no está organizada en un lago del catálogo universal 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
Define alertas sobre fallos de calidad de los datos de una tabla de BigQuery organizada en un lake de Universal Catalog 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 ejemplo para definir alertas por regla
Consulta de ejemplo para definir alertas en todas las reglas de calidad de los datos que no se cumplen con el nombre de regla personalizada especificado para un análisis de calidad de los datos:
resource.type="dataplex.googleapis.com/DataScan" AND jsonPayload.ruleName="custom-name" AND jsonPayload.result="FAILED"
Consulta de ejemplo para definir alertas en todas las reglas de calidad de los datos que no se cumplen de un tipo de evaluación específico de un análisis de calidad de los datos:
resource.type="dataplex.googleapis.com/DataScan" AND jsonPayload.evalutionType="PER_ROW" AND jsonPayload.result="FAILED"
Consulta de ejemplo para definir alertas en todas las reglas de calidad de los datos que no se cumplen en una columna de la tabla utilizada en un análisis de calidad de los datos:
resource.type="dataplex.googleapis.com/DataScan" AND jsonPayload.column="CInteger" AND jsonPayload.result="FAILED"
Solucionar problemas de calidad de los datos
En cada tarea con reglas a nivel de fila que falle, Dataplex Universal Catalog proporciona una consulta para obtener los registros fallidos. Ejecuta esta consulta para ver los registros que no coinciden con tu regla.
Consola
En la Google Cloud consola, ve a la página Elaboración de perfiles y calidad de los datos de Universal Catalog de Dataplex.
Haga clic en el nombre del análisis de calidad de los datos cuyos registros quiera solucionar.
Haz clic en la pestaña Historial de trabajos.
Haga clic en el ID de la tarea que ha identificado los fallos de calidad de los datos.
En la ventana de resultados del trabajo que se abre, en la sección Reglas, busca la columna Consulta para obtener registros fallidos. Haga clic en Copiar consulta en el portapapeles de la regla que ha fallado.
Ejecuta la consulta en BigQuery para ver los registros que han provocado que la tarea falle.
gcloud
No es compatible.
REST
Para obtener el trabajo que ha identificado los fallos de calidad de los datos, usa el método
dataScans.get
.En el objeto de respuesta, el campo
failingRowsQuery
muestra la consulta.Ejecuta la consulta en BigQuery para ver los registros que han provocado que la tarea falle.
Gestionar análisis de calidad de datos de una tabla específica
En este documento se explica cómo gestionar los análisis de perfil de datos en tu proyecto mediante la página Elaboración de perfiles y calidad de los datos de Dataplex Universal Catalog en la consola de Google Cloud .
También puedes crear y gestionar análisis de perfil de datos cuando trabajes con una tabla específica. En la consola Google Cloud , en la página Dataplex Universal Catalog de la tabla, usa la pestaña Calidad de los datos. Sigue estos pasos:
En la Google Cloud consola, ve a la página Búsqueda de Dataplex Universal Catalog.
Busca la tabla y selecciónala.
Haga clic en la pestaña Calidad de los datos.
En función de si la tabla tiene un análisis de calidad de los datos cuyos resultados se publican como metadatos de Dataplex Universal Catalog, puedes trabajar con los análisis de calidad de los datos de la tabla de las siguientes formas:
Se publican los resultados del análisis de calidad de los datos: los resultados del análisis más reciente se muestran en la página.
Para gestionar los análisis de calidad de los datos de esta tabla, haga clic en Análisis de calidad de los datos y, a continuación, elija una de las siguientes opciones:
Crear análisis: crea un análisis de calidad de los datos. Para obtener más información, consulta la sección Crear un análisis de calidad de los datos de este documento. Cuando creas un análisis desde la página de detalles de una tabla, esta se selecciona automáticamente.
Ejecutar ahora: ejecuta el análisis.
Editar configuración de análisis: edita los ajustes, como el nombre visible, los filtros y la programación.
Para editar las reglas de calidad de los datos, vaya a la pestaña Calidad de los datos y haga clic en la pestaña Reglas. Haz clic en Modificar reglas. Actualiza las reglas y haz clic en Guardar.
Gestionar permisos de análisis: controla quién puede acceder a los resultados de los análisis. Para obtener más información, consulta la sección Conceder acceso a los resultados del análisis de calidad de los datos de este documento.
Ver resultados históricos: consulta información detallada sobre los trabajos de análisis de calidad de datos anteriores. Para obtener más información, consulta las secciones Ver los resultados de un análisis de calidad de los datos y Ver el historial de resultados de los análisis de este documento.
Ver todos los análisis: consulta una lista de los análisis de calidad de los datos que se aplican a esta tabla.
Los resultados del análisis de calidad de los datos no se publican: elija una de las siguientes opciones:
Crear análisis de calidad de los datos: crea un análisis de calidad de los datos. Para obtener más información, consulta la sección Crear un análisis de calidad de los datos de este documento. Cuando creas un análisis desde la página de detalles de una tabla, esta se selecciona automáticamente.
Ver análisis: consulta una lista de análisis de calidad de los datos que se aplican a esta tabla.
Actualizar un análisis de calidad de los datos
Puedes editar varios ajustes de un análisis de calidad de datos, como el nombre visible, los filtros, la programación y las reglas de calidad de datos.
Consola
En la Google Cloud consola, ve a la página Elaboración de perfiles y calidad de los datos de Universal Catalog de Dataplex.
Haga clic en el nombre de un análisis de calidad de los datos.
Para editar la configuración, como el nombre visible, los filtros y la programación, haz clic en Editar. Edite los valores y haga clic en Guardar.
Para editar las reglas de calidad de los datos, en la página de detalles del análisis, haga clic en la pestaña Reglas actuales. Haz clic en Modificar reglas. Actualiza las reglas y, a continuación, 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
Haz los cambios siguientes:
DATASCAN
: nombre del análisis de calidad de los datos que se va a actualizar.LOCATION
: la Google Cloud región en la que se creó el análisis de calidad de los datos.DESCRIPTION
: la nueva descripción del análisis de calidad de los datos.
REST
Para editar un análisis de calidad de los datos, usa el método dataScans.patch
.
Eliminar un análisis de calidad de los datos
Consola
En la Google Cloud consola, ve a la página Elaboración de perfiles y calidad de los datos de Universal Catalog de Dataplex.
Haz clic en el análisis que quieras eliminar.
Haz clic en Eliminar y, a continuación, confirma la acción cuando se te pida.
gcloud
Para eliminar un análisis de calidad de los datos, usa el comando gcloud dataplex datascans delete
:
gcloud dataplex datascans delete DATASCAN \ --location=LOCATION \ --async
Sustituye las siguientes variables:
DATASCAN
: nombre del análisis de calidad de los datos que se va a eliminar.LOCATION
: la Google Cloud región en la que se creó el análisis de calidad de los datos.
REST
Para eliminar un análisis de calidad de los datos, utiliza el método dataScans.delete
.
Siguientes pasos
- Sigue un codelab para usar la asistencia de la IA y facilitar la calidad de los datos mediante programación.
- Consulta información sobre la creación de perfiles de datos.
- Consulta cómo usar la creación de perfiles de datos.
- Sigue un tutorial para gestionar reglas de calidad de los datos como código con Terraform.