En esta página, se describe cómo crear un análisis de calidad de los datos de Dataplex.
Para obtener información sobre los análisis de calidad de los datos, consulta Acerca de la calidad automática de los datos.
Antes de comenzar
Habilitar la API de Dataplex
Permisos
Si deseas ejecutar un análisis de calidad de los datos en una tabla de BigQuery, necesitas permiso para leer la tabla de BigQuery y crear un trabajo de BigQuery en el proyecto que se usó para analizar la tabla.
Si la tabla de BigQuery y el análisis de calidad de los datos están en proyectos diferentes, debes otorgar a la cuenta de servicio de Dataplex del proyecto que contiene el permiso de lectura de análisis de calidad de los datos para la tabla de BigQuery correspondiente.
Si las reglas de calidad de los datos hacen referencia a tablas adicionales, la cuenta de servicio del proyecto de análisis debe tener permisos de lectura en las mismas tablas.
Si quieres obtener los permisos que necesitas para exportar los resultados del análisis a una tabla de BigQuery, pídele a tu administrador que otorgue a la cuenta de servicio de Dataplex la función 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, otorga a la cuenta de servicio de Dataplex los roles
roles/dataplex.metadataReader
yroles/dataplex.viewer
. Como alternativa, necesitas 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 analizas una tabla externa de BigQuery desde Cloud Storage, otorga a la cuenta de servicio de Dataplex el rol
roles/storage.objectViewer
de Cloud Storage para el bucket. Como alternativa, asigna los siguientes permisos a la cuenta de servicio de Dataplex:storage.buckets.get
storage.objects.get
Si deseas publicar los resultados del análisis de calidad de los datos en las páginas de BigQuery y Data Catalog en la consola de Google Cloud para las tablas de origen, debes tener la función de IAM de editor de datos de BigQuery (
roles/bigquery.dataEditor
) o el permisobigquery.tables.update
para la tabla.Si necesitas acceder a columnas protegidas por políticas de acceso a nivel de columna de BigQuery, asigna los permisos de la cuenta de servicio de Dataplex para esas columnas. El usuario que crea o actualiza un análisis de datos también necesita permisos para las columnas.
Si una tabla tiene habilitadas las políticas de acceso a nivel de fila de BigQuery, solo puedes analizar las filas visibles para la cuenta de servicio de Dataplex. Ten en cuenta que los privilegios de acceso del usuario individual no se evalúan para las políticas a nivel de fila.
Permisos y roles del análisis de datos
Si quieres usar la calidad automática de los datos, necesitas los permisos para ejecutar análisis de datos o un rol con permisos predefinidos para ejecutar análisis de datos.
En la siguiente tabla, se enumeran los permisos DataScan
:
Nombre del permiso | Concede permiso para hacer lo siguiente: |
---|---|
dataplex.datascans.create |
Crea una DataScan |
dataplex.datascans.delete |
Borra una DataScan |
dataplex.datascans.get |
Visualiza los metadatos operativos, como el ID o el programa, pero no los resultados ni las reglas. |
dataplex.datascans.getData |
Ver detalles de DataScan , incluidas las reglas y los resultados |
dataplex.datascans.list |
Mostrar DataScan |
dataplex.datascans.run |
Ejecuta un DataScan . |
dataplex.datascans.update |
Actualiza la descripción de un DataScan |
dataplex.datascans.getIamPolicy |
Consulta los permisos de IAM actuales en el análisis |
dataplex.datascans.setIamPolicy |
Establece permisos de IAM en el análisis |
Otorga a los usuarios uno o más de los siguientes roles:
roles/dataplex.dataScanAdmin
: Acceso completo aDataScan
recursos.roles/dataplex.dataScanEditor
: Tiene acceso de escritura aDataScan
recursos.roles/dataplex.dataScanViewer
: Acceso de lectura a los recursos deDataScan
, excepto las reglas y los resultados.roles/dataplex.dataScanDataViewer
: Acceso de lectura a los recursosDataScan
, incluidas las reglas y los resultados.
Define las reglas de calidad de los datos
Puedes definir reglas de calidad de los datos mediante reglas integradas o verificaciones de SQL personalizadas. Si usas Google Cloud CLI, puedes definir estas reglas en un archivo JSON o YAML.
En los ejemplos de las siguientes secciones, se muestra cómo definir una variedad de reglas de calidad de los datos. Las reglas validan una tabla de muestra que contiene datos sobre 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 está particionada en este campo. |
customer_id | String | Un ID de cliente con un formato de 8 letras seguidas de 16 dígitos. |
transaction_id | String | El ID de transacción debe ser único en toda la tabla. |
currency_id | String | 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 | Porcentaje de descuento. Este valor debe estar entre 0 y 100. |
Define reglas de calidad de los datos usando tipos de reglas integrados
Las siguientes reglas de ejemplo se basan en tipos de reglas integradas. Puedes crear reglas basadas en tipos de reglas integradas mediante la consola de Google Cloud o la API. Dataplex podría recomendar algunas de estas reglas.
Nombre de la columna | Tipo de regla | Dimensión sugerida | Parámetros de reglas |
---|---|---|---|
transaction_id |
Verificación de unicidad | Unicidad | Umbral: Not Applicable |
amount |
Verificación nula | 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 conjunto de valores | Validez | Conjunto de: USD,JPY,INR,GBP,CAN Umbral: 100%
|
Definir las reglas de calidad de los datos con reglas de SQL personalizadas
Para compilar reglas personalizadas de SQL, usa el siguiente framework:
Cuando crees una regla que evalúe una fila a la vez, crea una expresión que genere la cantidad de filas correctas cuando Dataplex evalúe la consulta
SELECT COUNTIF(CUSTOM_SQL_EXPRESSION) FROM TABLE
. Dataplex verifica la cantidad de filas correctas con respecto al umbral.Cuando crees una regla que se evalúe en todas las filas o que use una verificación de SQL agregada, crea una expresión que muestre el éxito o el error cuando Dataplex 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 declaración que muestre las filas no válidas. Si se muestra alguna fila, 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 condiciones previas si usas el parámetro de referencia de datos
${data()}
en una regla, en lugar de mencionar de manera explícita la tabla de origen y sus filtros. Algunos ejemplos de filtros de condiciones previas incluyen los filtros de filas, los porcentajes de muestreo y los filtros incrementales. El parámetro${data()}
distingue mayúsculas de minúsculas.
Las siguientes reglas de ejemplo se basan en reglas de SQL personalizadas.
Tipo de regla | Descripción de la regla | Expresión de SQL |
---|---|---|
Condición de la fila | Comprueba si el valor de discount_pct está entre 0 y 100.
|
0 <discount_pct Y discount_pct < 100
|
Condición de la fila | Verificación de referencia para validar que currency_id sea una de las monedas admitidas.
|
currency_id in (select id from my_project_id.dim_dataset.dim_currency)
|
Expresión de SQL agregada | Comprueba si el discount_pct promedio está entre el 30% y el 50%.
|
30<avg(discount) AND avg(discount) <50
|
Condición de la fila | Comprueba si una fecha no es futura. | TIMESTAMP(transaction_timestamp) < CURRENT_TIMESTAMP()
|
Expresión de SQL agregada |
Una función definida por el usuario (UDF) de BigQuery para verificar que el importe promedio de las transacciones sea menor que un valor predefinido por país Ejecuta el siguiente comando para crear la UDF (JavaScript): CREATE OR REPLACE FUNCTION myProject.myDataset.average_by_country ( country STRING, average FLOAT64) RETURNS BOOL LANGUAGE js AS R""" if (country = "CAN" && average < 5000){ return 1 } else if (country = "IND" && average < 1000){ return 1 } else { return 0 } """; |
Regla de ejemplo para verificar el importe promedio de las transacciones de country=CAN .
myProject.myDataset.average_by_country( "CAN", (SELECT avg(amount) FROM myProject.myDataset.transactions_table WHERE currency_id = 'CAN' )) |
Expresión de SQL agregada | Una cláusula de predicción de BigQuery ML para identificar anomalías en discount_pct . Verifica si se debe aplicar un descuento en función de customer , currency y transaction . La regla verifica si la
predicción coincide con el valor real, al menos el 99% de las veces. Suposición: El modelo de AA se crea antes de usar la regla. Crea el modelo de AA con el
siguiente comando:
CREATE MODEL model-project-id.dataset-id.model-name OPTIONS(model_type='logistic_reg') AS SELECT IF(discount_pct IS NULL, 0, 1) AS label, IFNULL(customer_id, "") AS customer, IFNULL(currency_id, "") AS currency, IFNULL(amount, 0.0) AS amount FROM `data-project-id.dataset-id.table-names` WHERE transaction_timestamp < '2022-01-01'; |
Con la siguiente regla, se verifica si la exactitud 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 en función de customer , currency y transaction .
La regla identifica todos los casos en los que la predicción no coincidió.
Suposición: El modelo de AA se crea antes de usar la regla. Crea el modelo de AA con el siguiente comando: CREATE MODEL model-project-id.dataset-id.model-name OPTIONS(model_type='logistic_reg') AS SELECT IF(discount_pct IS NULL, 0, 1) AS label, IFNULL(customer_id, "") AS customer, IFNULL(currency_id, "") AS currency, IFNULL(amount, 0.0) AS amount FROM `data-project-id.dataset-id.table-names` WHERE transaction_timestamp < '2022-01-01'; |
La siguiente regla verifica si la predicción de 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 discount_pct es superior al 30% para hoy
verificando si existen filas con un porcentaje de descuento inferior o
igual a 30. |
SELECT * FROM my_project_id.dim_dataset.dim_currency WHERE discount_pct <= 30 AND transaction_timestamp >= current_date() |
Aserción de SQL (con parámetro de referencia de datos) | Verifica si El filtro de fecha El parámetro de referencia de datos |
SELECT * FROM ${data()} WHERE discount_pct > 30 |
Define las reglas de calidad de los datos con gcloud CLI
En el siguiente archivo YAML de ejemplo, se usan las mismas reglas que las reglas de muestra con tipos integrados y las reglas de SQL personalizadas de muestra. Puedes usar este archivo YAML como entrada para el comando de gcloud CLI.
rules:
- uniquenessExpectation: {}
column: transaction_id
dimension: UNIQUENESS
- nonNullExpectation: {}
column: amount
dimension: COMPLETENESS
threshold: 1
- regexExpectation:
regex: '^[0-9]{8}[a-zA-Z]{16}$'
column : customer_id
ignoreNull : true
dimension : VALIDITY
threshold : 1
- setExpectation :
values :
- 'USD'
- 'JPY'
- 'INR'
- 'GBP'
- 'CAN'
column : currency_id
ignoreNull : true
dimension : VALIDITY
threshold : 1
- 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
Crea un análisis de calidad de los datos
Console
En la consola de Google Cloud, ve a la página Calidad de los datos.
Haz clic en Crear análisis de calidad de los datos.
En la ventana Define scan, completa los siguientes campos:
Ingresa un Nombre visible.
El ID de análisis se genera automáticamente si no proporcionas tu propio ID. Consulta la convención de nomenclatura de recursos.
Ingresa una Descripción (opcional).
En el campo Tabla, haz clic en Explorar, elige la tabla y haz clic en Seleccionar. Dataplex solo admite tablas estándar de BigQuery.
Para las tablas en conjuntos de datos multirregionales, elige una región en la que crear el análisis de datos.
Para explorar las tablas organizadas dentro del lake de Dataplex, haz clic en Browse in Dataplex Lakes.
En el campo Alcance, elige Incrementalidad o Datos completos.
- Si eliges Incremental: En el campo Timestamp, selecciona una columna de tipo
DATE
oTIMESTAMP
de la tabla de BigQuery que aumente monótonamente y se pueda usar para identificar registros nuevos. Puede ser una columna que particiona la tabla.
- Si eliges Incremental: En el campo Timestamp, selecciona una columna de tipo
Opcional: Agrega etiquetas. Las etiquetas son pares
key:value
que te permiten agrupar objetos relacionados o con otros recursos de Google Cloud.Para filtrar tus datos, haz clic en Filtros. Selecciona la casilla de verificación Filtrar filas. El valor de entrada para el filtro de filas debe ser una expresión de SQL válida que se pueda usar como parte de una cláusula
WHERE
en la sintaxis de SQL estándar de BigQuery. Por ejemplo,col1 >= 0
. El filtro puede ser una combinación de varias condiciones de columna. Por ejemplo,col1 >= 0 AND col2 < 10
.Para muestrear tus datos, en la lista Tamaño de muestra, selecciona un porcentaje de muestreo. Elige un valor porcentual entre 0.0% y 100.0% con hasta 3 dígitos decimales. Si tienes conjuntos de datos más grandes, elige un porcentaje de muestreo más bajo. Por ejemplo, para una tabla de aproximadamente 1 PB, si ingresas un valor entre 0.1% y 1.0%, Dataplex muestra entre 1 y 10 TB de datos. Para los análisis de datos incrementales, Dataplex aplica el muestreo al último incremento.
Si deseas publicar los resultados del análisis de calidad de los datos en las páginas de BigQuery y Data Catalog en la consola de Google Cloud para la tabla de origen, haz clic en la casilla de verificación Publicar resultados en la IU de BigQuery y Dataplex. Puedes ver los últimos resultados del análisis en la pestaña Calidad de los datos de las páginas de BigQuery y Data Catalog de la tabla de origen. Para permitir que los usuarios accedan a los resultados del análisis publicados, consulta Comparte los resultados publicados. Es posible que la opción de publicación no esté disponible en los siguientes casos:
- No tienes los permisos necesarios en la tabla.
- Se configuró otro análisis de calidad de los datos para publicar los resultados.
Si quieres obtener más información sobre los permisos necesarios para ver los resultados publicados, consulta Permisos.
Haz clic en Continuar.
En la ventana Schedule, elige una de las siguientes opciones:
Repetir: Ejecuta el trabajo de análisis de calidad de los datos de forma programada: diaria, semanal, mensual o personalizada. Especifica la frecuencia con la que se ejecutará el análisis y en qué momento. Si eliges personalizarlo, usa el formato cron para especificar el programa.
A pedido: Ejecuta el trabajo de análisis de la 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 sobre la base de un análisis de generación de perfiles de datos existente.
Elegir columnas: Selecciona las columnas para las que deseas obtener reglas recomendadas.
Analizar proyecto: Son recomendaciones basadas en un análisis de generación de perfiles de datos existente. De forma predeterminada, Dataplex selecciona análisis de creación de perfiles del mismo proyecto en el que creas el análisis de calidad de los datos. Si creaste el análisis en un proyecto diferente, debes especificar el proyecto desde el que deseas extraer los análisis de perfil.
Elige los resultados del perfil: Según las columnas y el proyecto que selecciones, aparecerán varios resultados de perfiles.
Selecciona uno o más resultados de perfil y haz clic en OK. Esto propaga una lista de reglas para seleccionar.
Para seleccionar las reglas que deseas editar, marca las casillas y haz clic en Seleccionar. Una vez seleccionadas, las reglas se agregan a tu lista de reglas actual. Luego, puedes editarlas.
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 las reglas.
Elegir tipos de reglas: Según las columnas que selecciones, aparecerán varios tipos de reglas para seleccionar.
Selecciona uno o más tipos de reglas y, luego, haz clic en Aceptar. Esto propaga una lista de reglas para seleccionar.
Para seleccionar las reglas que deseas editar, marca las casillas y haz clic en Seleccionar. Una vez seleccionadas, las reglas se agregan a tu lista de reglas actuales. Luego, puedes editar las reglas.
Regla de verificación de filas de SQL: Crea una regla de SQL personalizada para aplicar a cada fila (regla de verificación de filas de SQL personalizada).
En Dimensión (Dimension), elige una dimensión.
En Umbral de aprobación, elige el porcentaje de registros que deben aprobar la verificación.
En Nombre de columna, elige una columna.
En el campo Proporciona una expresión SQL, ingresa una expresión SQL que se evalúe como un valor booleano
true
(aprobado) ofalse
(con errores). Para obtener más información, consulta Tipos de reglas de SQL personalizadas admitidos y los ejemplos de la sección Define reglas de calidad de datos de este documento.Haz clic en Agregar.
Regla de verificación de agregación de SQL: Crea una regla personalizada de verificación de agregación de SQL.
En Dimensión (Dimension), elige una dimensión.
En Nombre de columna, elige una columna.
En el campo Proporciona una expresión SQL, ingresa una expresión SQL que se evalúe como un valor booleano
true
(aprobado) ofalse
(con errores). Para obtener más información, consulta Tipos de reglas de SQL personalizadas admitidos y los ejemplos de la sección Define reglas de calidad de datos de este documento.Haz clic en Agregar.
Regla de aserción de SQL: Crea una regla de aserción de SQL personalizada para verificar si hay un estado no válido de los datos.
En Dimensión (Dimension), elige una dimensión.
Opcional: En Nombre de columna, elige una columna.
En el campo Proporciona una instrucción de SQL, ingresa una instrucción de SQL que muestre las filas que coinciden con el estado no válido. Si se muestra alguna fila, esta regla falla. Omite el punto y coma final de la instrucción de SQL. Para obtener más información, consulta Tipos de reglas de SQL personalizadas admitidos y los ejemplos de la sección Define reglas de calidad de datos de este documento.
Haz clic en Agregar.
Dataplex permite nombres personalizados para las reglas de calidad de los datos para la supervisión y las alertas. De manera opcional, puedes asignar un nombre de regla personalizada y una descripción a cualquier regla de calidad de los datos. Para ello, edita una regla y especifica los siguientes detalles:
- Nombre de la regla: Ingresa el nombre de la regla personalizada de 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 (Description): Ingresa una descripción de la regla con una longitud máxima de 1,024 caracteres.
Haz clic en Continuar.
Exporta los resultados del análisis a una tabla estándar de BigQuery (opcional). Haz clic en Explorar (Browse) para seleccionar un conjunto de datos de BigQuery existente a fin de almacenar los resultados del análisis de calidad de los datos.
Si la tabla especificada no existe, Dataplex la crea por ti. Si usas una tabla existente, asegúrate de que sea compatible con el esquema de tabla de exportación.
Haz clic en Crear.
Después de crear el análisis, puedes ejecutarlo en cualquier momento haciendo clic en Ejecutar ahora.
gcloud
Para crear un análisis de calidad de los datos, usa el comando gcloud dataplex datascans create data-quality
.
Si los datos de origen están organizados en un lake de Dataplex, incluye la marca
--data-source-entity
:
gcloud dataplex datascans create data-quality DATASCAN \
--location=LOCATION \
--data-quality-spec-file=DATA_QUALITY_SPEC_FILE \
--data-source-entity=DATA_SOURCE_ENTITY
Si los datos de origen no están organizados en un lake de Dataplex, incluye
la marca --data-source-resource
:
gcloud dataplex datascans create data-quality DATASCAN \
--location=LOCATION \
--data-quality-spec-file=DATA_QUALITY_SPEC_FILE \
--data-source-resource=DATA_SOURCE_RESOURCE
Reemplaza las siguientes variables:
DATASCAN
: Es el nombre del análisis de calidad de los datos.LOCATION
: Es la región de Google Cloud en la que se creará el análisis de calidad de los datos.DATA_QUALITY_SPEC_FILE
: Es la ruta de acceso al archivo JSON o YAML que contiene las especificaciones del análisis de calidad de los datos. Puede ser un archivo local o una ruta de Cloud Storage con el prefijogs://
. Puedes especificar campos adicionales en este archivo, comorules
,rowFilter
osamplingPercent
. Consulta la documentación sobre la representación en formato JSON.DATA_SOURCE_ENTITY
: Es la entidad de Dataplex que contiene los datos para el análisis de calidad de los datos. Por ejemplo,projects/test-project/locations/test-location/lakes/test-lake/zones/test-zone/entities/test-entity
DATA_SOURCE_RESOURCE
: Es el nombre del recurso que contiene los datos del análisis de calidad de los datos. Por ejemplo,//bigquery.googleapis.com/projects/test-project/datasets/test-dataset/tables/test-table
REST
Usa el Explorador de APIs para crear un análisis de calidad de los datos.
Exportar esquema de tabla
Para exportar los resultados del análisis de calidad de los datos a una tabla de BigQuery existente, asegúrate de que sea compatible con el siguiente esquema de tabla:
Nombre de la columna | Tipo de datos de la columna | Nombre del subcampo (si corresponde) |
Tipo de datos 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 | (Válido solo si la fuente es la entidad)test-lake
|
||
dataplex_zone_id |
string |
anulable | (Válido solo si la fuente es la entidad)test-zone |
||
dataplex_entity_id |
string |
anulable | (Válido solo si la fuente es la entidad)test-entity |
||
table_project_id |
string |
anulable | test-project |
||
table_project_number |
integer |
anulable | 987654321 |
||
dataset_id |
string |
anulable | (Válido solo si la fuente es una tabla)test-dataset |
||
table_id |
string |
anulable | (Válido solo si la fuente es una tabla)test-table |
||
data_quality_job_id | string |
anulable | caeba234-cfde-4fca-9e5b-fe02a9812e38 |
||
data_quality_job_configuration | json |
trigger |
string |
anulable | ondemand /schedule |
incremental |
boolean |
anulable | true /false |
||
sampling_percent |
float |
anulable | (0-100)20.0 (indica un 20%) |
||
row_filter |
string |
anulable | col1 >= 0 AND col2 < 10 |
||
job_labels | json |
anulable | {"key1":value1} |
||
job_start_time | timestamp |
anulable | 2023-01-01 00:00:00 UTC |
||
job_end_time | timestamp |
anulable | 2023-01-01 00:00:00 UTC |
||
job_rows_scanned | integer |
anulable | 7500 |
||
rule_name | string |
anulable | test-rule |
||
rule_type | string |
anulable | Range Check |
||
rule_evaluation_type | string |
anulable | Per row |
||
rule_column | string |
anulable | Rule only attached to a certain column |
||
rule_dimension | string |
anulable | Uniqueness |
||
job_quality_result | struct/record |
passed |
boolean |
anulable | true /false |
score |
float |
anulable | 90.8 |
||
job_dimension_result | json |
anulable | { "accuracy":{ "passed":true }, "consistency":{ "passed":false } }
|
||
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));" |
Cuando configures BigQueryExport para un trabajo de análisis de calidad de los datos, sigue estos lineamientos:
- Para el campo
resultsTable
, usa el formato://bigquery.googleapis.com/projects/{project-id}/datasets/{dataset-id}/tables/{table-id}
. - Usar una tabla estándar de BigQuery
- Si la tabla no existe cuando se crea o actualiza el análisis, Dataplex crea la tabla por ti.
- De forma predeterminada, la tabla se particiona en la columna
job_start_time
diariamente. - Si quieres que la tabla se particiona con otras opciones de configuración o si no quieres 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 VPC-SC está configurada en el proyecto, la tabla de resultados debe estar en el mismo perímetro de VPC-SC que la tabla de origen.
- Si la tabla se modifica durante la etapa de ejecución del análisis, el trabajo en ejecución actual se exporta a la tabla de resultados anterior y el cambio de la tabla se aplica a partir del siguiente trabajo de análisis.
- No modifiques el esquema de la tabla. Si necesitas columnas personalizadas, crea una vista en la tabla.
- Para reducir los costos, configura un vencimiento en la partición según tu caso de uso. Para obtener más información, consulta cómo configurar el vencimiento de las particiones.
Ejecuta un análisis de calidad de los datos
Console
- En la consola de Google Cloud, ve a la página Calidad de los datos. Ve a Calidad de los datos de Dataplex.
- Haz 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 \
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.
REST
Usa el Explorador de APIs para ejecutar tu análisis de calidad de los datos.
Visualiza los resultados del trabajo del análisis de calidad de los datos
Console
Los análisis de calidad de los datos que creaste aparecen en la página Calidad de los datos.
Para ver los resultados detallados de un análisis, haz clic en su nombre.
En la sección Descripción general, se muestra información sobre las últimas siete ejecuciones, incluida la fecha en que se ejecutó el análisis, la cantidad de registros analizados en cada trabajo, si todas las verificaciones de calidad de los datos se aprobaron, si hubo fallas, la cantidad de verificaciones de calidad de los datos que fallaron y qué dimensiones fallaron.
En la sección Configuración del análisis de calidad de los datos, se muestran los detalles del análisis.
gcloud
Para ver los resultados de un trabajo de análisis de calidad de los datos, usa el comando gcloud dataplex datascans jobs describe
:
gcloud dataplex datascans jobs describe JOB \ --location=LOCATION \ --datascan=DATASCAN \ --view=FULL
Reemplaza las siguientes variables:
JOB
: El ID 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
Usa el Explorador de APIs para ver los resultados de un análisis de calidad de los datos.
Ver todos los trabajos de análisis de calidad de los datos
Dataplex guarda el historial de análisis de calidad de los datos de los últimos 300 trabajos o del año pasado, lo que ocurra primero.
Console
En la pestaña Historial de trabajos, se proporciona información sobre los trabajos anteriores. Enumera todos los trabajos, la cantidad de registros analizados en cada trabajo, el estado del trabajo, la hora en la que se ejecutó, si cada regla se aprobó o falló, y mucho más.
Para ver información detallada sobre un trabajo, haz clic en cualquiera de los trabajos de la columna ID de trabajo.
gcloud
Para ver todos los trabajos de un análisis de calidad de los datos, usa el comando gcloud dataplex datascans jobs list
:
gcloud dataplex datascans jobs list \ --location=LOCATION \ --datascan=DATASCAN \
Reemplaza las siguientes variables:
LOCATION
: Es la región de Google Cloud en la que se creó el análisis de calidad de los datos.DATASCAN
: Es el nombre del análisis de calidad de los datos para el que se verán todos los trabajos.
REST
Usa el Explorador de APIs para ver todos los trabajos de análisis.
Comparte los resultados publicados
Cuando creas un análisis de calidad de los datos, si decides publicar los resultados del análisis en las páginas de BigQuery y Data Catalog en la consola de Google Cloud, los resultados del análisis más recientes estarán disponibles en la pestaña Calidad de los datos de esas páginas.
Puedes permitir que los usuarios de tu organización accedan a los resultados del análisis publicados. Para otorgar acceso a los resultados del análisis, sigue estos pasos:
En la consola de Google Cloud, ve a la página Perfil.
Haz clic en el análisis de calidad de los datos del que deseas compartir los resultados.
Ve a la pestaña Permisos.
Haz clic en Otorgar acceso.
En el campo Principales nuevas, agrega la principal a la que deseas otorgar acceso.
En el campo Selecciona un rol, elige Dataplex DataScan DataViewer.
Haz clic en Guardar.
Para quitar el acceso a los resultados del análisis publicados de una principal, sigue estos pasos:
En la consola de Google Cloud, ve a la página Perfil.
Haz clic en el análisis de calidad de los datos del que deseas compartir los resultados.
Ve a la pestaña Permisos.
Selecciona la principal para la que deseas quitar la función Dataplex DataScan DataViewer.
Haga clic en Quitar acceso.
Haz clic en Confirmar.
Actualizar un análisis de calidad de los datos
Console
En la consola de Google Cloud, ve a la página Calidad de los datos.
En la fila con el análisis para editar, haz clic en los tres puntos verticales > Editar.
Edite los valores.
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 del análisis de calidad de los datos que se actualizará.LOCATION
: Es la región de Google Cloud en la que se creó el análisis de calidad de los datos.DESCRIPTION
: Es la descripción nueva del análisis de calidad de los datos.
REST
Usa el Explorador de APIs para editar tu análisis de calidad de los datos.
Borrar un análisis de calidad de los datos
Console
En la consola de Google Cloud, ve a la página Calidad de los datos.
Haz clic en el análisis que quieres borrar.
Haz clic en Borrar.
gcloud
Para borrar un análisis de calidad de los datos, usa el comando gcloud dataplex datascans delete
:
gcloud dataplex datascans delete DATASCAN \ --location=LOCATION \ --async
Reemplaza las siguientes variables:
DATASCAN
: 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
Usa el Explorador de APIs para borrar el análisis de calidad de los datos.
Establece alertas en Cloud Logging
Para configurar alertas de fallas en la calidad de los datos mediante los registros en 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. Revisa las consultas de muestra.
Haz clic en Ejecutar consulta.
Haz clic en Crear alerta. Se abrirá un panel lateral.
Ingresa el nombre de tu política de alertas y haz clic en Siguiente.
Revisa la consulta.
Haz clic en el botón Obtener vista previa de los registros para probar la consulta. Esto muestra registros con condiciones coincidentes.
Haz clic en Siguiente.
Establece el tiempo entre notificaciones y haz clic en Siguiente.
Define quién debe recibir notificaciones de la alerta y haz clic en Guardar para crear la política de alertas.
Como alternativa, para configurar y editar las alertas, navega en la consola de Google Cloud a Monitoring > Alertas.
gcloud
No compatible.
REST
Utiliza el Explorador de APIs para configurar alertas en Cloud Logging.
Consultas de muestra para configurar alertas a nivel de trabajo o de dimensión
Una consulta de muestra para establecer alertas sobre fallas generales en la calidad de los datos para un análisis de la calidad de los datos:
resource.type="dataplex.googleapis.com/DataScan" AND labels."dataplex.googleapis.com/data_scan_state"="SUCCEEDED" AND resource.labels.resource_container="projects/112233445566" AND resource.labels.datascan_id="a0-test-dec6-dq-3" AND NOT jsonPayload.dataQuality.passed=true
Una consulta de muestra para establecer alertas sobre fallas en la calidad de los datos para una dimensión (por ejemplo, exclusividad) 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
Una consulta de muestra para establecer alertas sobre fallas en la calidad de los datos de una tabla.
Establece alertas sobre fallas de calidad de los datos para una tabla de BigQuery que no esté organizada en un lake de Dataplex:
resource.type="dataplex.googleapis.com/DataScan" AND jsonPayload.dataSource="//bigquery.googleapis.com/projects/test-project/datasets/testdataset/table/chicago_taxi_trips" AND labels."dataplex.googleapis.com/data_scan_state"="SUCCEEDED" AND resource.labels.resource_container="projects/112233445566" AND NOT jsonPayload.dataQuality.passed=true
Establece alertas sobre fallas de calidad de los datos para una tabla de BigQuery organizada en un lake de Dataplex:
resource.type="dataplex.googleapis.com/DataScan" AND jsonPayload.dataSource="projects/test-project/datasets/testdataset/table/chicago_taxi_trips" AND labels."dataplex.googleapis.com/data_scan_state"="SUCCEEDED" AND resource.labels.resource_container="projects/112233445566" AND NOT jsonPayload.dataQuality.passed=true
Consultas de muestra para configurar alertas por regla
Una consulta de muestra para establecer alertas sobre todas las reglas de calidad de datos con errores y el nombre de la regla personalizada especificada para un análisis de la calidad de los datos:
resource.type="dataplex.googleapis.com/DataScan" AND jsonPayload.ruleName="custom-name" AND jsonPayload.result="FAILED"
Una consulta de muestra para establecer alertas sobre todas las reglas de calidad de los datos con errores de un tipo de evaluación específico para un análisis de la calidad de los datos:
resource.type="dataplex.googleapis.com/DataScan" AND jsonPayload.evalutionType="PER_ROW" AND jsonPayload.result="FAILED"
Una consulta de muestra para establecer alertas sobre todas las reglas de calidad de los datos con errores en una columna de la tabla que se usa en un análisis de calidad de los datos:
resource.type="dataplex.googleapis.com/DataScan" AND jsonPayload.column="CInteger" AND jsonPayload.result="FAILED"
Solucionar una falla en la calidad de los datos
Para cada trabajo con reglas a nivel de fila que fallan, Dataplex proporciona una consulta para obtener los registros con errores. Ejecuta esta consulta para ver los registros que no coincidieron con tu regla.
Console
En la consola de Google Cloud, ve a la página Calidad de los datos.
Haz clic en su Nombre visible para seleccionar el análisis en el que deseas solucionar problemas.
En la pestaña Historial de trabajos, busca la ejecución del análisis que falló y haz clic en el vínculo de fallas.
En la ventana de trabajo que se abre, en la sección Reglas, busca la columna Consulta para obtener registros con errores.
Copia la consulta para ejecutarla en BigQuery y ver los registros que causaron la falla del trabajo.
gcloud
No compatible.
REST
Usa el Explorador de APIs para ver la consulta que te permite obtener registros con errores para trabajos que fallaron.
Próximos pasos
- Obtén más información sobre la generación de perfiles de datos.
- Aprende a usar la generación de perfiles de datos.
- Sigue un instructivo para administrar las reglas de calidad de los datos como código con Terraform.