En esta página, se describe cómo crear un análisis de calidad de los datos de Dataplex Universal Catalog.
Para obtener información sobre los análisis de calidad de los datos, consulta Información sobre la calidad de los datos automáticos.
Antes de comenzar
-
Enable the Dataplex API.
- Opcional: Si quieres que Dataplex Universal Catalog genere recomendaciones para las reglas de calidad de los datos según los resultados de un análisis de perfil de datos, crea y ejecuta el análisis de perfil de datos.
Roles requeridos
Para ejecutar un análisis de calidad de los datos en una tabla de BigQuery, necesitas permiso para leer la tabla de BigQuery y permiso para 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 Universal Catalog del proyecto que contiene el análisis de calidad de los datos permiso de lectura 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 le otorgue a la cuenta de servicio del catálogo universal 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 lago de Dataplex Universal Catalog, otorga a la cuenta de servicio de Dataplex Universal Catalog los roles de IAM de Dataplex Metadata Reader (
roles/dataplex.metadataReader
) y Dataplex Viewer (roles/dataplex.viewer
). Como alternativa, necesitas todos los siguientes 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 Universal Catalog el rol de visualizador de objetos de almacenamiento (
roles/storage.objectViewer
) para el bucket. Como alternativa, asigna a la cuenta de servicio de Dataplex Universal Catalog los siguientes permisos:storage.buckets.get
storage.objects.get
Si deseas publicar los resultados del análisis de calidad de los datos como metadatos del catálogo universal de Dataplex, debes tener el rol de IAM de editor de datos de BigQuery (
roles/bigquery.dataEditor
) para la tabla y el permisodataplex.entryGroups.useDataQualityScorecardAspect
en el grupo de entradas@bigquery
en la misma ubicación que la tabla. Como alternativa, se te debe otorgar el rol de editor de Dataplex Catalog (roles/dataplex.catalogEditor
) para el grupo de entradas@bigquery
en la misma ubicación que la tabla.Como alternativa, necesitas todos los siguientes permisos:
bigquery.tables.update
: En la mesadataplex.entryGroups.useDataQualityScorecardAspect
: En el grupo de entrada@bigquery
O bien, necesitas todos los siguientes permisos:
dataplex.entries.update
: En el grupo de entrada@bigquery
dataplex.entryGroups.useDataQualityScorecardAspect
: En el grupo de entrada@bigquery
Si necesitas acceder a columnas protegidas por políticas de acceso a nivel de columna de BigQuery, asigna permisos de la cuenta de servicio de Dataplex Universal Catalog 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 la fila de BigQuery, solo puedes analizar las filas visibles para la cuenta de servicio de Dataplex Universal Catalog. Ten en cuenta que los privilegios de acceso del usuario individual no se evalúan para las políticas a nivel de las filas.
Roles requeridos para el análisis de datos
Para usar la calidad de los datos automática, pídele a tu administrador que te otorgue uno de los siguientes roles de IAM:
- Acceso completo a los recursos de
DataScan
: Administrador de DataScan de Dataplex (roles/dataplex.dataScanAdmin
) - Para crear recursos de
DataScan
: Creador de Dataplex DataScan (roles/dataplex.dataScanCreator
) en el proyecto - Acceso de escritura a los recursos de
DataScan
: Editor de DataScan de Dataplex (roles/dataplex.dataScanEditor
) - Acceso de lectura a los recursos de
DataScan
, excepto las reglas y los resultados: Visualizador de DataScan de Dataplex (roles/dataplex.dataScanViewer
) - Acceso de lectura a los recursos de
DataScan
, incluidas las reglas y los resultados: Visualizador de datos de DataScan de Dataplex (roles/dataplex.dataScanDataViewer
)
En la siguiente tabla, se enumeran los permisos de DataScan
:
Nombre del permiso | Otorga permiso para realizar las siguientes acciones: |
---|---|
dataplex.datascans.create |
Crea una DataScan |
dataplex.datascans.delete |
Borra una DataScan |
dataplex.datascans.get |
Ver metadatos operativos, como el ID o la programación, pero no los resultados ni las reglas |
dataplex.datascans.getData |
Consulta los detalles de DataScan , incluidas las reglas y los resultados |
dataplex.datascans.list |
Enumera DataScan s |
dataplex.datascans.run |
Ejecuta una DataScan |
dataplex.datascans.update |
Actualiza la descripción de un DataScan |
dataplex.datascans.getIamPolicy |
Visualiza los permisos de IAM actuales en el análisis |
dataplex.datascans.setIamPolicy |
Establece permisos de IAM en el análisis |
Define reglas de calidad de los datos
Puedes definir reglas de calidad de los datos con 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 las transacciones de los clientes. Supón que la tabla tiene el siguiente esquema:
Nombre de la columna | Tipo de columna | Descripción de la columna |
---|---|---|
transaction_timestamp | Marca de tiempo | Es la marca de tiempo de la transacción. La tabla está particionada en este campo. |
customer_id | String | Es un ID de cliente con el 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 | Es 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 | Es el porcentaje de descuento. Este valor debe estar entre 0 y 100. |
Cómo definir 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 integrados con la consola de Google Cloud o la API. Dataplex Universal Catalog podría recomendar algunas de estas reglas.
Nombre de la columna | Tipo de regla | Dimensión sugerida | Parámetros de regla |
---|---|---|---|
transaction_id |
Verificación de unicidad | Unicidad | Umbral: Not Applicable |
amount |
Verificación de nulos | 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 crear reglas de SQL personalizadas, usa el siguiente framework:
Cuando creas una regla que evalúa una fila a la vez, crea una expresión que genere la cantidad de filas correctas cuando Dataplex Universal Catalog evalúe la consulta
SELECT COUNTIF(CUSTOM_SQL_EXPRESSION) FROM TABLE
. Dataplex Universal Catalog verifica la cantidad de filas correctas en comparación con el umbral.Cuando creas una regla que evalúa las filas o usa una condición de tabla, crea una expresión que muestre éxito o error cuando Dataplex Universal Catalog 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 las 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 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 condiciones previas, se incluyen los filtros de filas, los porcentajes de muestreo y los filtros incrementales. El parámetro${data()}
distingue entre mayúsculas y minúsculas.
Las siguientes reglas de ejemplo se basan en reglas de SQL personalizadas.
Tipo de regla | Descripción de la regla | Expresión SQL |
---|---|---|
Condición de la fila | Verifica si el valor de discount_pct está entre 0 y 100.
|
0 <discount_pct AND 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)
|
Estado de la mesa | Expresión SQL agregada que verifica si el discount_pct promedio se encuentra 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()
|
Estado de la mesa |
Una función definida por el usuario (UDF) de BigQuery
para verificar que el importe promedio de la transacción sea inferior a un valor
predefinido por país. Crea la UDF (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 } """; |
Ejemplo de regla para verificar el importe promedio de la transacción para 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 . Verifica si se debe aplicar un descuento según 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 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 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 según customer , currency y transaction .
La regla identifica todas las situaciones en las que no coincidió la predicción.
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 predicción del descuento coincide con el valor real para 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 verificando si existen filas con un porcentaje de descuento inferior o igual al 30. |
SELECT * FROM my_project_id.dim_dataset.dim_currency WHERE discount_pct <= 30 AND transaction_timestamp >= current_date() |
Aserción de SQL (con un parámetro de referencia de datos) | Verifica si el El filtro de fecha El parámetro de referencia de datos |
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 en las reglas de ejemplo que usan 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 gcloud CLI 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
Crea un análisis de calidad de los datos
Console
En la consola de Google Cloud , ve a la página Generación de perfiles de datos y calidad de Dataplex Universal Catalog.
Haz clic en Crear análisis de calidad de los datos.
En la ventana Define scan, completa los siguientes campos:
Opcional: Ingresa un nombre visible.
Ingresa un ID. Consulta las convenciones de nomenclatura de recursos.
Escribe una descripción (opcional).
En el campo Tabla, haz clic en Explorar. Elige la tabla que deseas analizar y, luego, haz clic en Seleccionar. Solo se admiten las 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 los lakes de Dataplex Universal Catalog, haz clic en Browse within Dataplex Lakes.
En el campo Alcance, elige Incremental o Datos completos.
- Si eliges Incremental, en el campo Columna de marca de tiempo, selecciona una columna de tipo
DATE
oTIMESTAMP
de tu tabla de BigQuery que aumente a medida que se agreguen registros nuevos y que se pueda usar para identificar registros nuevos. Puede ser una columna que particiona la tabla.
- Si eliges Incremental, en el campo Columna de marca de tiempo, selecciona una columna de tipo
Para filtrar tus datos, selecciona la casilla de verificación Filtrar filas. Proporciona un filtro de filas que consta de una expresión de SQL válida que se puede 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 muestrear tus datos, en la lista Tamaño de muestreo, selecciona un porcentaje de muestreo. Elige un valor de porcentaje 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 1 PB, si ingresas un valor entre el 0.1% y el 1.0%, el análisis de calidad de los datos tomará muestras 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 un muestreo al incremento más reciente.
Para publicar los resultados del análisis de calidad de los datos como metadatos de Dataplex Universal Catalog, selecciona la casilla de verificación Publicar los resultados en 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 Dataplex Universal Catalog de la tabla de origen. Para permitir que los usuarios accedan a los resultados del análisis publicado, consulta la sección Otorga acceso a los resultados del análisis de perfil de datos de este documento.
En la sección Programación, elige una de las siguientes opciones:
Repetir: Ejecuta el análisis de calidad de los datos según un programa: por hora, por día, por semana, por mes o personalizado. Especifica la frecuencia con la que 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 el análisis de calidad de los datos a pedido.
Haz clic en Continuar.
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: Crea reglas a partir de las recomendaciones basadas en un análisis de perfil de datos existente.
Elegir columnas: Selecciona las columnas para las que deseas obtener reglas recomendadas.
Elegir proyecto para analizar: Si el análisis de perfil de datos se encuentra en un proyecto diferente del proyecto en el que estás creando el análisis de calidad de los datos, selecciona el proyecto desde el que se extraerán los análisis de perfil.
Elegir resultados de perfil: Selecciona uno o más resultados de perfil y, luego, haz clic en Aceptar. Esto completará una lista de reglas sugeridas que puedes usar como punto de partida.
Selecciona la casilla de verificación de las reglas que deseas agregar y, luego, haz clic en Seleccionar. Una vez que las selecciones, las reglas se agregarán a tu lista de reglas actual. Luego, 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 deseas seleccionar reglas.
Elige tipos de reglas: Selecciona los tipos de reglas que quieras elegir y, luego, haz clic en Aceptar. Los tipos de reglas que aparecen dependen de las columnas que seleccionaste.
Selecciona la casilla de verificación de las reglas que deseas agregar y, luego, haz clic en Seleccionar. Una vez que las selecciones, las reglas se agregarán a tu lista de reglas actual. Luego, puedes editar las reglas.
Regla de verificación de fila de SQL: Crea una regla de SQL personalizada para aplicar a cada fila.
En Dimensión, elige una dimensión.
En Umbral de aprobación, elige un porcentaje de registros que deben aprobar la verificación.
En Nombre de la columna, elige una columna.
En el campo Proporciona una expresión en SQL, ingresa una expresión en SQL que se evalúe como un valor booleano
true
(aprobado) ofalse
(reprobado). Para obtener más información, consulta Tipos de reglas de SQL personalizadas compatibles y los ejemplos en Cómo definir reglas de calidad de los datos.Haz clic en Agregar.
Regla de verificación de agregación de SQL: Crea una regla de condición de tabla de SQL personalizada.
En Dimensión, elige una dimensión.
En Nombre de la columna, elige una columna.
En el campo Proporciona una expresión en SQL, ingresa una expresión en SQL que se evalúe como un valor booleano
true
(aprobado) ofalse
(reprobado). Para obtener más información, consulta Tipos de reglas de SQL personalizadas compatibles y los ejemplos en Cómo definir reglas de calidad de los datos.Haz clic en Agregar.
Regla de aserción de SQL: Crea una regla de aserción de SQL personalizada para verificar si los datos tienen un estado no válido.
En Dimensión, elige una dimensión.
Opcional: En Nombre de la columna, elige una columna.
En el campo Proporciona una instrucción de SQL, ingresa una instrucción de SQL que devuelva las filas que coincidan con el estado no válido. Si se devuelven filas, 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 de SQL personalizadas compatibles y los ejemplos en Cómo definir reglas de calidad de los datos.
Haz clic en Agregar.
Opcional: Para cualquier regla de calidad de los datos, puedes asignar un nombre de regla personalizado para usarlo en la supervisión y las alertas, y una descripción. Para ello, edita una regla y especifica los siguientes detalles:
- Nombre de la regla: Ingresa un nombre de regla personalizado 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.
Repite los pasos anteriores para agregar reglas adicionales al análisis de calidad de los datos. Cuando termines, 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, haz lo siguiente:
En el campo Selecciona un conjunto de datos de BigQuery, haz clic en Explorar. 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 almacenarán los resultados del análisis de calidad de los datos. Si usas una tabla existente, 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: Agrega etiquetas. Las etiquetas son pares clave-valor que te permiten agrupar objetos relacionados entre sí o con otros recursos de Google Cloud .
Opcional: Configura informes de notificaciones por correo electrónico para alertar a las personas 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
Agregar ID de correo electrónico y, luego, ingresa hasta cinco direcciones de correo electrónico. Luego, selecciona las situaciones para las que deseas enviar 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. Ingresa una puntuación de calidad objetivo entre 0 y 100.
- Fallas del trabajo: Envía un informe cuando falla el trabajo, independientemente de los resultados de la calidad de los datos.
- Finalización del trabajo (correcto o incorrecto): Envía un informe cuando finaliza el trabajo, independientemente de los resultados de la calidad de los datos.
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 Universal Catalog, 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 Universal Catalog, 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
: Es el nombre del análisis de calidad de los datos.LOCATION
: La región Google Cloud en la que se creará el análisis de la calidad de los datos.DATA_QUALITY_SPEC_FILE
: Es la ruta de acceso 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 acceso de Cloud Storage con el prefijogs://
. 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 la exportación a BigQuery o el envío de informes de notificación por correo electrónico. Consulta la documentación sobre la representación en JSON y la representación de ejemplo en YAML.DATA_SOURCE_ENTITY
: Es la entidad de Dataplex Universal Catalog 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
Para crear un análisis de calidad de los datos, usa el método dataScans.create
.
Si deseas compilar reglas para el análisis de calidad de los datos con recomendaciones de reglas basadas en los resultados de un análisis de perfil de datos, llama al método dataScans.jobs.generateDataQualityRules
en el análisis de perfil de datos para obtener las recomendaciones.
Exporta el esquema de la 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 del 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 | (Solo es válido si la fuente es una entidad)test-lake
|
||
dataplex_zone_id |
string |
anulable | (Solo es válido si la fuente es una entidad)test-zone |
||
dataplex_entity_id |
string |
anulable | (Solo es válido 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 | (Solo es válido si la fuente es una tabla)test-dataset |
||
table_id |
string |
anulable | (Solo es válido 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 a 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 | (0.0-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));" |
||
rule_assertion_row_count | integer |
anulable | 10 |
Cuando configures BigQueryExport para un trabajo de análisis de calidad de los datos, sigue estos lineamientos:
- Para el campo
resultsTable
, usa el siguiente formato://bigquery.googleapis.com/projects/{project-id}/datasets/{dataset-id}/tables/{table-id}
. - Usa una tabla estándar de BigQuery.
- Si la tabla no existe cuando se crea o actualiza el análisis, Dataplex Universal Catalog la crea por ti.
- De forma predeterminada, la tabla se particiona en la columna
job_start_time
todos los días. - Si deseas que la tabla se particione en otras configuraciones o si no deseas la partición, vuelve a crear la tabla con el esquema y las configuraciones requeridos y, luego, proporciona la tabla creada previamente como la tabla de resultados.
- Asegúrate de que la tabla de resultados esté en la misma ubicación que la tabla de origen.
- Si se configura VPC-SC 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 del análisis, el trabajo en ejecución actual se exporta a la tabla de resultados anterior y el cambio en la tabla entra en vigencia 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 los costos, establece una fecha de vencimiento en 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
En la consola de Google Cloud , ve a la página Generación de perfiles de datos y calidad de Dataplex Universal Catalog.
Haz clic en el análisis de calidad de los datos que deseas ejecutar.
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 Google Cloud en la que se creó el análisis de calidad de los datos.DATASCAN
: Es el 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
.
Visualiza los resultados del análisis de calidad de los datos
Console
En la consola de Google Cloud , ve a la página Generación de perfiles de datos y calidad de Dataplex Universal Catalog.
Haz clic en el nombre de un análisis de calidad de los datos.
En la sección Descripción general, se muestra información sobre los trabajos más recientes, como cuándo se ejecutó el análisis, la cantidad de registros analizados en cada trabajo, si se aprobaron todas las verificaciones de calidad de los datos y, si hubo errores, la cantidad de verificaciones de calidad de los datos que fallaron.
En la sección Configuración del análisis de calidad de los datos, se muestran detalles sobre el análisis.
Para ver información detallada sobre un trabajo, como las puntuaciones de calidad de los datos que indican el porcentaje de reglas que se aprobaron, qué reglas fallaron y los registros del trabajo, 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
: Es el ID 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
: Es 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, especificaFULL
.
REST
Para ver los resultados de un análisis de calidad de los datos, usa el método dataScans.get
.
Visualiza los resultados publicados
Si los resultados del análisis de calidad de los datos se publican como metadatos de Dataplex Universal Catalog, puedes ver los resultados del análisis más recientes en las páginas de BigQuery y Dataplex Universal Catalog de la consola deGoogle Cloud , en la pestaña Calidad de los datos de la tabla de origen.
En la consola de Google Cloud , ve a la página Búsqueda de Dataplex Universal Catalog.
Busca y selecciona la tabla.
Haz clic en la pestaña Calidad de los datos.
Se muestran los resultados publicados más recientes.
Visualiza los resultados del análisis histórico
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.
Console
En la consola de Google Cloud , ve a la página Generación de perfiles de datos y calidad de Dataplex Universal Catalog.
Haz 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 la cantidad de registros analizados en cada trabajo, el estado del trabajo, la hora en que se ejecutó el trabajo y si cada regla se aprobó o rechazó.
Para ver información detallada sobre un trabajo, haz clic en cualquiera de los trabajos de la columna ID del trabajo.
gcloud
Para ver los trabajos históricos 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 \
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
: Es el nombre del análisis de calidad de los datos para el que se visualizarán los trabajos históricos.
REST
Para ver los trabajos históricos de análisis de calidad de los datos, usa el método dataScans.jobs.list
.
Otorga acceso a los resultados del análisis de calidad de los datos
Para permitir que los usuarios de tu organización vean los resultados del análisis, haz lo siguiente:
En la consola de Google Cloud , ve a la página Generación de perfiles de datos y calidad de Dataplex Universal Catalog.
Haz clic en el análisis de calidad de los datos cuyos resultados quieras compartir.
Haz clic en la pestaña Permisos.
Haz lo siguiente:
- Para otorgar acceso a una principal, haz clic en Otorgar acceso. Otorga el rol Visualizador de datos de DataScan de Dataplex a la principal asociada.
- Para quitar el acceso de una principal, selecciona la principal de la que deseas quitar el rol Visualizador de datos de DataScan de Dataplex. Haz clic en Quitar acceso y, luego, confirma la acción cuando se te solicite.
Cómo configurar alertas en Cloud Logging
Para configurar alertas sobre errores de calidad de los datos con los registros de Cloud Logging, sigue estos pasos:
Console
En la consola de Google Cloud , ve al Explorador de registros de Cloud Logging.
En la ventana Consulta, ingresa tu consulta. Consulta las consultas de ejemplo.
Haga clic en Ejecutar consulta.
Haz clic en Crear alerta. Se abrirá un panel lateral.
Ingresa el nombre de la política de alertas y haz clic en Siguiente.
Revisa la búsqueda.
Haz clic en el botón Registros de vista previa para probar tu consulta. Aquí se muestran los registros con condiciones coincidentes.
Haz clic en Siguiente.
Establece el tiempo entre notificaciones y haz clic en Siguiente.
Define quién debe recibir notificaciones sobre la alerta y haz clic en Guardar para crear la política de alertas.
Como alternativa, puedes configurar y editar tus alertas navegando en la consola deGoogle Cloud Monitoring > Alerting.
gcloud
No compatible.
REST
Para obtener más información sobre cómo configurar alertas en Cloud Logging, consulta Crea una política de alertas basada en registros con la API de Monitoring.
Ejemplos de consultas para configurar alertas a nivel del trabajo o de la dimensión
A continuación, se muestra una consulta de muestra para establecer alertas sobre las fallas generales de calidad de los datos en 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
A continuación, se muestra un ejemplo de consulta para establecer alertas sobre errores de calidad de los datos para una dimensión (por ejemplo, la 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
Es una consulta de muestra para configurar alertas sobre errores de calidad de los datos en una tabla.
Establece alertas sobre errores de calidad de los datos para una tabla de BigQuery que no esté organizada en un lake de Dataplex Universal Catalog:
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 errores de calidad de los datos para una tabla de BigQuery organizada en un lake de Dataplex Universal Catalog:
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
Ejemplos de consultas para configurar alertas por regla
A continuación, se muestra una consulta de ejemplo para establecer alertas sobre todas las reglas de calidad de los datos que fallan con el nombre de regla personalizado 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"
A continuación, se muestra una consulta de ejemplo para establecer alertas sobre todas las reglas de calidad de los datos que fallan 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"
Consulta de muestra para establecer alertas sobre todas las reglas de calidad de los datos que fallan para una columna en la tabla que se usa para 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 una falla en la calidad de los datos
Para cada trabajo con reglas a nivel de la fila que fallan, Dataplex Universal Catalog proporciona una consulta para obtener los registros con errores. Ejecuta esta consulta para ver los registros que no coincidieron con tu regla.
Console
En la consola de Google Cloud , ve a la página Generación de perfiles de datos y calidad de Dataplex Universal Catalog.
Haz clic en el nombre del análisis de calidad de los datos cuyos registros deseas solucionar.
Haz clic en la pestaña Historial de trabajos.
Haz clic en el ID del trabajo que identificó errores 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 con errores. Haz clic en Copiar la consulta en el portapapeles para la regla que falló.
Ejecuta la consulta en BigQuery para ver los registros que provocaron la falla del trabajo.
gcloud
No compatible.
REST
Para obtener el trabajo que identificó errores de calidad de los datos, usa el método
dataScans.get
.En el objeto de respuesta, el campo
failingRowsQuery
muestra la búsqueda.Ejecuta la consulta en BigQuery para ver los registros que provocaron la falla del trabajo.
Administra los análisis de calidad de los datos de una tabla específica
En este documento, se muestran los pasos para administrar los análisis de perfiles de datos en tu proyecto con la página Generación de perfiles de datos y calidad de Dataplex Universal Catalog en la consola de Google Cloud .
También puedes crear y administrar análisis de perfiles de datos cuando trabajas con una tabla específica. En la consola de Google Cloud , en la página Dataplex Universal Catalog de la tabla, usa la pestaña Calidad de los datos. Haz lo siguiente:
En la consola de Google Cloud , ve a la página Búsqueda de Dataplex Universal Catalog.
Busca y selecciona la tabla.
Haz clic en la pestaña Calidad de los datos.
Según 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 maneras:
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 administrar los análisis de calidad de los datos de esta tabla, haz clic en Análisis de calidad de los datos y, luego, selecciona una de las siguientes opciones:
Crear análisis nuevo: Crea un análisis de calidad de los datos nuevo. Para obtener más información, consulta la sección Crea 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 preselecciona.
Ejecutar ahora: Ejecuta el análisis.
Editar configuración de análisis: Edita la configuración, incluidos el nombre visible, los filtros y la programación.
Para editar las reglas de calidad de los datos, en la pestaña Calidad de los datos, haz clic en la pestaña Reglas. Haz clic en Modificar reglas. Actualiza las reglas y, luego, haz clic en Guardar.
Administrar permisos del análisis: Controla quién puede acceder a los resultados del análisis. Para obtener más información, consulta la sección Otorga 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 los datos anteriores. Para obtener más información, consulta las secciones Visualiza los resultados del análisis de calidad de los datos y Visualiza los resultados históricos del 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: Selecciona una de las siguientes opciones:
Crear análisis de calidad de los datos: Crea un análisis de calidad de los datos nuevo. Para obtener más información, consulta la sección Crea 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 preselecciona.
Ver análisis existentes: Consulta una lista de los análisis de calidad de los datos que se aplican a esta tabla.
Actualiza un análisis de calidad de los datos
Puedes editar varios parámetros de configuración de un análisis de calidad de los datos existente, como el nombre visible, los filtros, la programación y las reglas de calidad de los datos.
Console
En la consola de Google Cloud , ve a la página Generación de perfiles de datos y calidad de Dataplex Universal Catalog.
Haz clic en el nombre de un análisis de calidad de los datos.
Para editar la configuración, incluidos el nombre visible, los filtros y la programación, haz clic en Editar. Edita los valores y haz clic en Guardar.
Para editar las reglas de calidad de los datos, en la página de detalles del análisis, haz clic en la pestaña Reglas actuales. Haz clic en Modificar reglas. Actualiza las reglas y, luego, 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
: Es el nombre de la exploración 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 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
.
Borra un análisis de calidad de los datos
Console
En la consola de Google Cloud , ve a la página Generación de perfiles de datos y calidad de Dataplex Universal Catalog.
Haz clic en el análisis que quieras borrar.
Haz clic en Borrar y, luego, confirma cuando se te solicite.
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
: Es 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
Para borrar un análisis de calidad de los datos, usa el método dataScans.delete
.
Próximos pasos
- Sigue un codelab: usa la asistencia de IA para facilitar la calidad de los datos de forma programática.
- Obtén más información sobre la generación de perfiles de datos.
- Obtén más información para usar la generación de perfiles de datos.
- Sigue un instructivo para administrar reglas de calidad de los datos como código con Terraform.