En esta página, se describe cómo crear un análisis de calidad de los datos de Dataplex.
Para obtener más información sobre los análisis de calidad de los datos, consulta Acerca de la calidad automática de los datos.
Antes de comenzar
Habilita la API de Dataplex.
Opcional: Si quieres que Dataplex genere recomendaciones para las reglas de calidad de los datos basadas en los resultados de un análisis de creación de perfiles de datos crear y ejecutar el análisis de creación de perfiles de datos
Permisos
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 otorgarle al servicio Dataplex cuenta del proyecto que contiene el permiso de lectura del análisis de calidad de los datos para la tabla de BigQuery correspondiente.
Si las reglas de calidad de los datos hacen referencia a tablas adicionales, entonces la capa de análisis de servicio debe tener permisos de lectura en las mismas tablas.
Para obtener los permisos que necesitas para exportar los resultados del análisis a un en una tabla de BigQuery, pídele a tu administrador que Cuenta de servicio de Dataplex Rol de IAM Editor de datos (
roles/bigquery.dataEditor
) en el del 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 Dataplex lake, otorga a la cuenta de servicio de Dataplex Roles de
roles/dataplex.metadataReader
yroles/dataplex.viewer
. Como alternativa, necesitas todos estos permisos:dataplex.lakes.list
dataplex.lakes.get
dataplex.zones.list
dataplex.zones.get
dataplex.entities.list
dataplex.entities.get
dataplex.operations.get
Si analizas una tabla externa de BigQuery desde Cloud Storage, otorga a la cuenta de servicio de Dataplex el La función
roles/storage.objectViewer
de Cloud Storage para el bucket Como alternativa, asigna a la cuenta de servicio de Dataplex siguientes permisos:storage.buckets.get
storage.objects.get
Si quieres publicar los resultados del análisis de calidad de los datos en la las páginas de BigQuery y Data Catalog del la consola de Google Cloud para las tablas fuente, se te debe otorgar el editor de datos de BigQuery (
roles/bigquery.dataEditor
) rol de IAM o el permisobigquery.tables.update
para la tabla.Si necesitas acceder a columnas protegidas por políticas de acceso a nivel de columnas de BigQuery, asigna los permisos de la cuenta de servicio de Dataplex para esas columnas. El usuario que crea o actualiza un análisis de datos también necesita permisos para las columnas.
Si una tabla tiene habilitadas las políticas de acceso a nivel de fila de BigQuery, solo podrás analizar las filas visibles para la cuenta de servicio de Dataplex. Ten en cuenta que los privilegios de acceso de usuario individual no se evalúan según las políticas a nivel de fila.
Permisos y roles del análisis de datos
Si quieres usar la calidad automática de los datos, necesitas los permisos para ejecutar análisis de datos, o un rol con permisos predefinidos para ejecutar análisis de datos.
En la siguiente tabla, se enumeran los permisos DataScan
:
Nombre del permiso | Otorga permiso para hacer lo siguiente: |
---|---|
dataplex.datascans.create |
Crea una DataScan |
dataplex.datascans.delete |
Borra una DataScan |
dataplex.datascans.get |
Ver metadatos operativos, como ID o programación, pero no resultados ni reglas |
dataplex.datascans.getData |
Ver DataScan detalles, incluidas las reglas y los resultados |
dataplex.datascans.list |
Enumerar DataScan s |
dataplex.datascans.run |
Ejecuta una DataScan |
dataplex.datascans.update |
Actualiza la descripción de un DataScan |
dataplex.datascans.getIamPolicy |
Ver los permisos de IAM actuales en el análisis |
dataplex.datascans.setIamPolicy |
Configurar permisos de IAM en el análisis |
Otorga a los usuarios uno o más de los siguientes roles:
roles/dataplex.dataScanAdmin
: Acceso completo aDataScan
recursos.roles/dataplex.dataScanEditor
: Acceso de escritura a los recursosDataScan
.roles/dataplex.dataScanViewer
: acceso de lectura aDataScan
recursos excluidos las reglas y los resultados.roles/dataplex.dataScanDataViewer
: acceso de lectura a los recursos deDataScan
, incluidas las reglas y los resultados.
Define reglas de calidad de los datos
Puedes definir reglas de calidad de los datos usando 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 calidad de datos las reglas de firewall. Las reglas validan una tabla de muestra que contiene datos sobre transacciones de clientes. Supongamos que la tabla tiene el siguiente esquema:
Nombre de la columna | Tipo de columna | Descripción de la columna |
---|---|---|
transaction_timestamp | Marca de tiempo | Marca de tiempo de la transacción. La tabla está particionada en este campo. |
customer_id | String | Un ID de cliente con un formato de 8 letras seguidas de 16 dígitos |
transaction_id | String | El ID de transacción debe ser único en toda la tabla. |
currency_id | String | Una de las monedas admitidas.El tipo de moneda debe coincidir con una de las monedas disponibles en la tabla de dimensiones dim_currency .
|
cantidad | float | Importe de la transacción. |
discount_pct | float | Porcentaje de descuento. Este valor debe estar entre 0 y 100. |
Define reglas de calidad de los datos con tipos de reglas integrados
Las siguientes reglas de ejemplo se basan en tipos de reglas integradas. Puedes crear basadas en tipos de reglas integradas con 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 regla |
---|---|---|---|
transaction_id |
Verificación de unicidad | Unicidad | Umbral: Not Applicable |
amount |
Verificación de nulabilidad | Integridad | Umbral: 100% |
customer_id |
Verificación de regex (expresión regular) | Validez | Expresión regular: ^[0-9]{8}[a-zA-Z]{16}$ Umbral: 100%
|
currency_id |
Verificación del valor establecido | Validez | Conjunto de: USD,JPY,INR,GBP,CAN Umbral: 100%
|
Define reglas de calidad de los datos con reglas de SQL personalizadas
Para compilar reglas personalizadas de SQL, usa el siguiente framework:
Cuando crees una regla que evalúe una fila a la vez, crea una expresión que genera la cantidad de filas correctas cuando Dataplex Evalúa la consulta
SELECT COUNTIF(CUSTOM_SQL_EXPRESSION) FROM TABLE
. Dataplex verifica la cantidad de filas correctas con los umbral.Cuando creas una regla que evalúa todas las filas o utiliza una tabla de estado, crea una expresión que devuelva el resultado de éxito o fracaso cuando Dataplex evalúa 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 devuelve filas no válidas. Si se devuelven filas, la regla falla. Omite el punto y coma final de la instrucción de SQL.
Puedes consultar una tabla de fuente de datos y todos sus filtros de condiciones previas: usando el parámetro de referencia de datos
${data()}
en una regla, en lugar de mencionar de forma explícita la tabla de origen y sus filtros. Ejemplos de los filtros de condiciones previas incluyen filtros de filas, porcentajes de muestreo e incremento filtros. El parámetro${data()}
distingue mayúsculas de minúsculas.
Los siguientes ejemplos de reglas se basan en reglas de SQL personalizadas.
Tipo de regla | Descripción de la regla | Expresión SQL |
---|---|---|
Condición de la fila | Comprueba si el valor de discount_pct
se encuentra 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 uno de los
monedas admitidas.
|
currency_id in (select id from my_project_id.dim_dataset.dim_currency)
|
Condición de la tabla | Expresión SQL agregada que verifica si el discount_pct promedio está entre el 30% y el 50%.
|
30<avg(discount) AND avg(discount) <50
|
Condición de la fila | Comprueba si una fecha no es futura. | TIMESTAMP(transaction_timestamp) < CURRENT_TIMESTAMP()
|
Condición de la tabla |
Una función definida por el usuario (UDF) de BigQuery
para comprobar que el importe promedio de las transacciones sea menor que un valor
valor por país. Ejecuta el siguiente comando para crear la UDF (JavaScript)
:
CREATE OR REPLACE FUNCTION myProject.myDataset.average_by_country ( country STRING, average FLOAT64) RETURNS BOOL LANGUAGE js AS R""" if (country = "CAN" && average < 5000){ return 1 } else if (country = "IND" && average < 1000){ return 1 } else { return 0 } """; |
Regla de ejemplo para verificar el importe promedio de las transacciones de country=CAN .
myProject.myDataset.average_by_country( "CAN", (SELECT avg(amount) FROM myProject.myDataset.transactions_table WHERE currency_id = 'CAN' )) |
Condición de la tabla | Una instancia 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 verifica si
coincide con el valor real, al menos el 99% de las veces. Suposición: La
El modelo de AA se crea antes de usar la regla. Crea el modelo de AA con la
siguiente comando:
CREATE MODEL model-project-id.dataset-id.model-name OPTIONS(model_type='logistic_reg') AS SELECT IF(discount_pct IS NULL, 0, 1) AS label, IFNULL(customer_id, "") AS customer, IFNULL(currency_id, "") AS currency, IFNULL(amount, 0.0) AS amount FROM `data-project-id.dataset-id.table-names` WHERE transaction_timestamp < '2022-01-01'; |
La siguiente regla verifica si la exactitud de las predicciones es superior al 99%.
SELECT accuracy > 0.99 FROM ML.EVALUATE (MODEL model-project-id.dataset-id.model-name, ( SELECT customer_id, currency_id, amount, discount_pct FROM data-project-id.dataset-id.table-names WHERE transaction_timestamp > '2022-01-01'; ) ) |
Condición de la fila | Una 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 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 los
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 mayor que el 30% para hoy
verificando si existen filas con un porcentaje de descuento menor 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 fechas 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 la de muestra con tipos integrados y la muestra de las reglas de SQL personalizadas. Puedes usar este archivo YAML como entrada para el comando de gcloud CLI.
rules:
- uniquenessExpectation: {}
column: transaction_id
dimension: UNIQUENESS
- nonNullExpectation: {}
column: amount
dimension: COMPLETENESS
threshold: 1
- regexExpectation:
regex: '^[0-9]{8}[a-zA-Z]{16}$'
column : customer_id
ignoreNull : true
dimension : VALIDITY
threshold : 1
- setExpectation :
values :
- 'USD'
- 'JPY'
- 'INR'
- 'GBP'
- 'CAN'
column : currency_id
ignoreNull : true
dimension : VALIDITY
threshold : 1
- rangeExpectation:
minValue : '0'
maxValue : '100'
column : discount_pct
ignoreNull : true
dimension : VALIDITY
threshold : 1
- rowConditionExpectation:
sqlExpression : 0 < `discount_pct` AND `discount_pct` < 100
column: discount_pct
dimension: VALIDITY
threshold: 1
- rowConditionExpectation:
sqlExpression : currency_id in (select id from `my_project_id.dim_dataset.dim_currency`)
column: currency_id
dimension: VALIDITY
threshold: 1
- tableConditionExpectation:
sqlExpression : 30 < avg(discount_pct) AND avg(discount_pct) < 50
dimension: VALIDITY
- rowConditionExpectation:
sqlExpression : TIMESTAMP(transaction_timestamp) < CURRENT_TIMESTAMP()
column: transaction_timestamp
dimension: VALIDITY
threshold: 1
- sqlAssertion:
sqlStatement : SELECT * FROM `my_project_id.dim_dataset.dim_currency` WHERE discount_pct > 100
dimension: VALIDITY
Crea un análisis de calidad de los datos
Console
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 del 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 tu tabla y, luego, haz clic en Seleccionar. Dataplex solo es compatible con Tablas de BigQuery.
Para las tablas en conjuntos de datos multirregionales, elige la región en la que deseas crearlas el análisis de datos.
Para explorar las tablas organizadas en el lake de Dataplex, haz clic en Explorar en Dataplex Lakes.
En el campo Alcance, elige Incrementales o Datos completos.
- Si eliges Incremental: En el campo Timestamp column,
selecciona una columna de tipo
DATE
oTIMESTAMP
de tu de BigQuery que aumenta monótonamente y se puede que se usan para identificar registros nuevos. Puede ser una columna que divida la desde una tabla de particiones.
- Si eliges Incremental: En el campo Timestamp column,
selecciona una columna de tipo
Opcional: Agrega etiquetas. Las etiquetas son pares
key:value
que te permiten agrupar juntos o con otros recursos de Google Cloud.Para filtrar tus datos, haz clic en Filtros. Selecciona el filtro Filter Filas. El valor de entrada para el filtro de fila debe ser un SQL válido expresión que se puede usar como parte de una cláusula
WHERE
en 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 muestreo, selecciona una el porcentaje de muestreo. Elige un valor porcentual que se encuentre entre 0.0% y 100.0% con hasta 3 dígitos decimales. Para grandes conjuntos de datos, elige un porcentaje de muestreo más bajo. Por ejemplo, para un ~1 PB, si ingresas un valor entre 0.1% y 1.0%, Dataplex muestra entre 1 y 10 TB de datos. Para análisis de datos incrementales, Dataplex aplica el muestreo al el incremento más reciente.
Para publicar los resultados del análisis de calidad de los datos, las páginas de BigQuery y Data Catalog del consola de Google Cloud para la tabla de origen, haz clic en Publicar los resultados en BigQuery y IU de Dataplex Catalog. Puedes ver los resultados del análisis más reciente en la pestaña Calidad de los datos de la Páginas de BigQuery y Data Catalog para la fuente desde una tabla de particiones. Para permitir que los usuarios accedan a los resultados del análisis publicado, consulta Comparte los resultados publicados. Es posible que la opción de publicación no esté disponible en los siguientes casos:
- No tienes los permisos necesarios en la tabla.
- Otro análisis de calidad de los datos está configurado para publicar resultados.
Si deseas obtener más información sobre los permisos necesarios para ver el resultados publicados, consulta Permisos.
Haga clic en Continuar.
En la ventana Programa, elige una de las siguientes opciones:
Repetir: Ejecutar el trabajo de análisis de calidad de los datos según un programa: diariamente semanal, mensual o personalizada. Especifica la frecuencia con la que se ejecuta el análisis en qué momento. Si eliges el modo personalizado, usa cron. para especificar el programa.
A pedido: Ejecuta tu trabajo de análisis de calidad de los datos a pedido.
Haga clic en Continuar.
En la ventana Reglas de calidad de los datos, define las reglas que deseas que debes configurar 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 desde el recomendaciones basadas en un análisis de creación de perfiles de datos existente.
Elegir columnas: Selecciona las columnas para las que deseas obtener reglas recomendadas.
Analizar proyecto: Son recomendaciones basadas en datos existentes. de generación de perfiles. De forma predeterminada, Dataplex selecciona la generación de perfiles. análisis del mismo proyecto en el que estás creando los datos análisis de calidad. Si creaste el análisis en un proyecto diferente, puedes debes especificar el proyecto del cual extraer los análisis de perfil.
Elegir los resultados del perfil: Según las columnas y el proyecto Si seleccionas esta opción, aparecerán varios resultados de perfil.
Selecciona uno o más resultados del perfil y haz clic en OK. Esta 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 agregarán a tu regla actual. lista. Luego, puedes editar las reglas.
Tipos de reglas integradas: Crea reglas a partir de reglas predefinidas. Consulte 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 propagará 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 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 aplicarla a cada fila (SQL personalizado). regla de comprobación de filas).
En Dimensión, elige una dimensión.
En Umbral de aprobación, elige un porcentaje de registros que deben pasar la verificación.
En Nombre de la columna, elige una columna.
En el campo Proporciona una expresión SQL, ingresa una expresión SQL. Se evalúa como un valor booleano
true
(aprobado) ofalse
(reprobado). Para más información, consulta Tipos de reglas de SQL personalizadas compatibles y los ejemplos de la sección Define reglas de calidad de los datos de este documento.Haz clic en Agregar.
Regla de verificación de agregación de SQL: Crea un SQL personalizado regla de condición de la tabla.
En Dimensión, elige una dimensión.
En Nombre de la columna, elige una columna.
En el campo Proporciona una expresión SQL, ingresa una expresión SQL. Se evalúa como un valor booleano
true
(aprobado) ofalse
(reprobado). Para más información, consulta Tipos de reglas de SQL personalizadas compatibles y los ejemplos de la sección Define reglas de calidad de los datos de este documento.Haz clic en Agregar.
Regla de aserción de SQL: Crea una regla de aserción de SQL personalizada para verificar. debido a un estado no válido de los datos.
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 devuelve las filas que coinciden con el estado no válido. Si alguna fila se se devuelve, esta regla falla. Omite el punto y coma final de SQL declaración. Para obtener más información, consulta Tipos de reglas de SQL personalizadas compatibles y los ejemplos de la sección Define reglas de calidad de los datos de este documento.
Haz clic en Agregar.
Dataplex permite usar nombres personalizados para las reglas de calidad de los datos. para la supervisión y las alertas. Para cualquier regla de calidad de los datos, puedes De manera opcional, asigna un nombre para la regla personalizada y una descripción. Para ello, edita una regla y especifica los siguientes detalles:
- Nombre de la regla: Ingresa un nombre para la regla personalizada con hasta 63 caracteres. El nombre de la regla puede incluir letras (a-z, A-Z), dígitos (0-9) y guiones (-); debe comenzar con una letra y terminar con un número o una letra.
- Descripción: Ingresa la descripción de la regla con un máximo con una longitud de 1,024 caracteres.
Haga clic en Continuar.
Opcional: Exporta los resultados del análisis a un estándar de BigQuery desde una tabla de particiones. Haz clic en Explorar para seleccionar un BigQuery existente. para almacenar los resultados del análisis de calidad de los datos.
Si la tabla especificada no existe, Dataplex la crea para 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 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 el
Marca --data-source-entity
:
gcloud dataplex datascans create data-quality DATASCAN \
--location=LOCATION \
--data-quality-spec-file=DATA_QUALITY_SPEC_FILE \
--data-source-entity=DATA_SOURCE_ENTITY
Si los datos de origen no están organizados en un lake de Dataplex, incluye
la marca --data-source-resource
:
gcloud dataplex datascans create data-quality DATASCAN \
--location=LOCATION \
--data-quality-spec-file=DATA_QUALITY_SPEC_FILE \
--data-source-resource=DATA_SOURCE_RESOURCE
Reemplaza las siguientes variables:
DATASCAN
: El nombre del análisis de calidad de los datos.LOCATION
: Es la región de Google Cloud en la que se crear el análisis de calidad de los datos.DATA_QUALITY_SPEC_FILE
: Es la ruta de acceso al archivo JSON o Archivo 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://
. Usa este archivo para especificar las reglas de calidad de los datos para el análisis. También puedes especificar detalles adicionales en este archivo, como filtros, porcentaje de muestreo, y acciones posteriores al análisis, como exportar a BigQuery o enviar notificaciones por correo electrónico. Consulta la documentación sobre la representación JSON.DATA_SOURCE_ENTITY
: Dataplex que contiene los datos para el análisis de calidad de los datos. Por ejemplo,projects/test-project/locations/test-location/lakes/test-lake/zones/test-zone/entities/test-entity
DATA_SOURCE_RESOURCE
: Es el nombre del recurso. que contiene los datos para el análisis de calidad de los datos. Por ejemplo,//bigquery.googleapis.com/projects/test-project/datasets/test-dataset/tables/test-table
REST
Usa el Explorador de APIs para crear un análisis de calidad de los datos.
Si quieres crear reglas para el análisis de calidad de los datos usando reglas
recomendaciones basadas en los resultados de un análisis de creación de perfiles de datos,
las recomendaciones llamando al
Método dataScans.jobs.generateDataQualityRules
en el análisis de creación de perfiles de datos.
Exportar esquema de tabla
Exportar los resultados del análisis de calidad de los datos a una cuenta de BigQuery asegúrate de que sea compatible con el siguiente esquema de tabla:
Nombre de la columna | Tipo de datos de la columna | Nombre del subcampo (si corresponde) |
Tipo de datos de subcampo | Modo | Ejemplo |
---|---|---|---|---|---|
data_quality_scan | struct/record |
resource_name |
string |
anulable | //dataplex.googleapis.com/projects/test-project/locations/europe-west2/datascans/test-datascan |
project_id |
string |
anulable | dataplex-back-end-dev-project |
||
location |
string |
anulable | us-central1 |
||
data_scan_id |
string |
anulable | test-datascan |
||
data_source | struct/record |
resource_name |
string |
anulable | Caso de entidad://dataplex.googleapis.com/projects/dataplex-back-end-dev-project/locations/europe-west2/lakes/a0-datascan-test-lake/zones/a0-datascan-test-zone/entities/table1 Caso de tabla: //bigquery.googleapis.com/projects/test-project/datasets/test-dataset/tables/test-table
|
dataplex_entity_project_id |
string |
anulable | dataplex-back-end-dev-project |
||
dataplex_entity_project_number |
integer |
anulable | 123456789 |
||
dataplex_lake_id |
string |
anulable | (Válido solo si la fuente es una entidad)test-lake
|
||
dataplex_zone_id |
string |
anulable | (Válido solo si la fuente es una entidad)test-zone |
||
dataplex_entity_id |
string |
anulable | (Válido solo si la fuente es una entidad)test-entity |
||
table_project_id |
string |
anulable | test-project |
||
table_project_number |
integer |
anulable | 987654321 |
||
dataset_id |
string |
anulable | (Válido solo si el origen es una tabla)test-dataset |
||
table_id |
string |
anulable | (Válido solo si el origen es una tabla)test-table |
||
data_quality_job_id | string |
anulable | caeba234-cfde-4fca-9e5b-fe02a9812e38 |
||
data_quality_job_configuration | json |
trigger |
string |
anulable | ondemand /schedule |
incremental |
boolean |
anulable | true /false |
||
sampling_percent |
float |
anulable | (0-100)20.0 (indica un 20%) |
||
row_filter |
string |
anulable | col1 >= 0 AND col2 < 10 |
||
job_labels | json |
anulable | {"key1":value1} |
||
job_start_time | timestamp |
anulable | 2023-01-01 00:00:00 UTC |
||
job_end_time | timestamp |
anulable | 2023-01-01 00:00:00 UTC |
||
job_rows_scanned | integer |
anulable | 7500 |
||
rule_name | string |
anulable | test-rule |
||
rule_type | string |
anulable | Range Check |
||
rule_evaluation_type | string |
anulable | Per row |
||
rule_column | string |
anulable | Rule only attached to a certain column |
||
rule_dimension | string |
anulable | UNIQUENESS |
||
job_quality_result | struct/record |
passed |
boolean |
anulable | true /false |
score |
float |
anulable | 90.8 |
||
job_dimension_result | json |
anulable | {"ACCURACY":{"passed":true,"score":100},"CONSISTENCY":{"passed":false,"score":60}}
|
||
rule_threshold_percent | float |
anulable | (de 0.0 a 100.0)Rule-threshold-pct in API * 100 |
||
rule_parameters | json |
anulable | {min: 24, max:5345} |
||
rule_pass | boolean |
anulable | True |
||
rule_rows_evaluated | integer |
anulable | 7400 |
||
rule_rows_passed | integer |
anulable | 3 |
||
rule_rows_null | integer |
anulable | 4 |
||
rule_failed_records_query | string |
anulable | "SELECT * FROM `test-project.test-dataset.test-table` WHERE (NOT((`cTime` >= '15:31:38.776361' and `cTime` <= '19:23:53.754823') IS TRUE));" |
Cuando configuras BigQueryExport para un trabajo de análisis de calidad de los datos, sigue estas pautas:
- Para el campo
resultsTable
, usa el siguiente formato://bigquery.googleapis.com/projects/{project-id}/datasets/{dataset-id}/tables/{table-id}
- Usar una tabla estándar de BigQuery
- Si la tabla no existe cuando se crea o actualiza el análisis, Dataplex crea la tabla por ti.
- De forma predeterminada, la tabla se particiona en la columna
job_start_time
a diario. - Si quieres que la tabla se particionara en otras configuraciones o si no quieres la partición y, luego, vuelve a crear la tabla con los atributos y parámetros de configuración, y luego proporcionarás la tabla creada previamente como en la tabla de resultados.
- Asegúrate de que la tabla de resultados se encuentre en la misma ubicación que la tabla de origen.
- Si se configura VPC-SC en el proyecto, la tabla de resultados debe estar en 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 estado las exportaciones de trabajos en ejecución a la tabla de resultados anterior y el cambio en la tabla se aplicará a partir del siguiente trabajo de análisis.
- No modifiques el esquema de la tabla. Si necesitas columnas personalizadas, crea una vista sobre la mesa.
- Para reducir costos, configura un vencimiento para la partición según tu caso de uso. Para obtener más información, consulta cómo configurar el vencimiento de la partición.
Ejecuta un análisis de calidad de los datos
Console
En la consola de Google Cloud, ve a la página Calidad de los datos.
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 se creó el análisis de calidad de los datos.DATASCAN
: El nombre del análisis de calidad de los datos.
REST
Usa el Explorador de APIs para ejecutar tu análisis de calidad de los datos.
Consulta los resultados del análisis de calidad de los datos
Console
En la consola de Google Cloud, ve a la página Calidad de los datos.
Para ver los resultados detallados de un análisis, haz clic en el nombre del análisis.
La sección Descripción general muestra información sobre los últimos siete como el momento en que se ejecutó el análisis, la cantidad de registros analizadas en cada trabajo, si se aprobaron todas las verificaciones de calidad de los datos, si fueron fallas, la cantidad de verificaciones de calidad de los datos que fallaron y qué se produjo un error con las dimensiones.
La sección Configuración del análisis de calidad de los datos muestra detalles sobre el analizarlo.
Para ver los niveles de calidad de los datos que indican el porcentaje de reglas que haz clic en la pestaña Historial de trabajos. Luego, haz clic en un ID de trabajo.
gcloud
Para ver los resultados de un trabajo de análisis de calidad de los datos, usa el
Comando gcloud dataplex datascans jobs describe
:
gcloud dataplex datascans jobs describe JOB \ --location=LOCATION \ --datascan=DATASCAN \ --view=FULL
Reemplaza las siguientes variables:
JOB
: El ID de trabajo del trabajo de análisis de calidad de los datos.LOCATION
: Es la región de Google Cloud en la que se encuentran se creó el análisis de calidad.DATASCAN
: El nombre del análisis de calidad de los datos del trabajo le pertenece.--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.
Visualiza los resultados del análisis histórico
Dataplex guarda el historial de análisis de calidad de los datos de los últimos 300 o durante el último año, lo que ocurra primero.
Console
En la consola de Google Cloud, ve a la página Calidad de los datos.
Haz clic en el nombre de un análisis.
Haz clic en la pestaña Historial de trabajos.
En la pestaña Historial de trabajos, se proporciona información sobre los trabajos anteriores. Enumera todos los trabajos, la cantidad de registros analizados en cada trabajo, el estado del trabajo, la hora se ejecutó el trabajo, 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 Job ID (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 encuentran se creó el análisis de calidad.DATASCAN
: Es el nombre del análisis de calidad de los datos que se mostrará. para todos los trabajos.
REST
Usa el Explorador de APIs para ver todos los trabajos de análisis.
Compartir los resultados publicados
Cuando creas un análisis de calidad de los datos, si elegiste publicar los resultados del análisis en las páginas de BigQuery y Data Catalog del la consola de Google Cloud, los resultados del análisis más reciente 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 al análisis publicado resultados. Para otorgar acceso a los resultados del análisis, sigue estos pasos:
En la consola de Google Cloud, ve a la página Calidad de los datos.
Haz clic en el análisis de calidad de los datos cuyos resultados deseas compartir.
Ve a la pestaña Permisos.
Haz clic en Otorgar acceso.
En el campo Principales nuevas, agrega la principal a la que deseas asignar. otorgar acceso.
En el campo Selecciona un rol, selecciona Dataplex DataScan DataViewer.
Haz clic en Guardar.
Para quitar el acceso a los resultados del análisis publicados de una principal, sigue estos pasos: pasos:
En la consola de Google Cloud, ve a la página Calidad de los datos.
Haz clic en el análisis de calidad de los datos cuyos resultados deseas compartir.
Ve a la pestaña Permisos.
Selecciona la principal para la que deseas quitar el Dataplex DataScan DataViewer. en el área de la seguridad en la nube.
Haga clic en Quitar acceso.
Haz clic en Confirmar.
Establece alertas en Cloud Logging
Para establecer alertas de fallas en la calidad de los datos con los registros de Cloud Logging, sigue estos pasos:
Console
En la consola de Google Cloud, ve a Cloud Logging Explorador de registros.
En la ventana Consulta, ingresa tu consulta. Revisa las consultas de muestra.
Haga 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 Preview Logs 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 la notificación de la alerta y haz clic en Guardar para crearlo. la política de alertas.
También puedes configurar y editar tus alertas navegando en la Consola de Google Cloud a Monitoring > Alertas.
gcloud
No compatible.
REST
Usa el Explorador de APIs para configurar alertas en Cloud Logging.
Consultas de muestra para configurar alertas a nivel del trabajo o de la dimensión
Una consulta de muestra para establecer alertas sobre errores generales relacionados con la calidad de los datos analizar:
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 los errores en la calidad de los datos de una dimensión (por ejemplo, unicidad) de un determinado 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 jsonPayload.dataQuality.dimensionPassed.UNIQUENESS=false
Consulta de muestra para establecer alertas sobre fallas en la calidad de los datos de una tabla.
Establece alertas sobre fallas en la calidad de los datos para una tabla de BigQuery que no está organizado 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 en la calidad de los datos para una tabla de BigQuery que se organiza en un lake de Dataplex:
resource.type="dataplex.googleapis.com/DataScan" AND jsonPayload.dataSource="projects/test-project/datasets/testdataset/table/chicago_taxi_trips" AND labels."dataplex.googleapis.com/data_scan_state"="SUCCEEDED" AND resource.labels.resource_container="projects/112233445566" AND NOT jsonPayload.dataQuality.passed=true
Consultas de muestra para configurar alertas por regla
Una consulta de muestra para establecer alertas sobre todas las reglas de calidad de los datos con la nombre de la regla personalizada especificada para un análisis de calidad de los datos:
resource.type="dataplex.googleapis.com/DataScan" AND jsonPayload.ruleName="custom-name" AND jsonPayload.result="FAILED"
Una consulta de muestra para establecer alertas sobre todas las reglas de calidad de los datos con errores de un determinado tipo de evaluación para un análisis de calidad de los datos:
resource.type="dataplex.googleapis.com/DataScan" AND jsonPayload.evalutionType="PER_ROW" AND jsonPayload.result="FAILED"
Una consulta de muestra para establecer alertas sobre todas las reglas de calidad de los datos con errores en una columna en la tabla utilizada 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 la calidad de los datos
Por cada trabajo con reglas a nivel de fila que fallan, Dataplex proporciona una consulta para obtener los registros con errores. Ejecuta esta consulta para ver los registros que sí no coinciden con tu regla.
Console
En la consola de Google Cloud, ve a la página Calidad de los datos.
Haz clic en el nombre del análisis en cuyos registros deseas solucionar problemas.
Haz clic en la pestaña Historial de trabajos.
Haz clic en el ID del trabajo que identificó errores en la calidad de los datos.
En la ventana de resultados de trabajos que se abre, busca la columna en la sección Reglas. Consulta para obtener registros con errores. Haz clic en Copiar consulta en el portapapeles regla con errores.
Ejecuta la consulta en BigQuery para ver los registros que causaron que el trabajo falle.
gcloud
No compatible.
REST
Use el Explorador de APIs para ver la consulta a fin de obtener registros con errores para los trabajos que falló.
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 donde se encuentra 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
: El nombre del análisis de calidad de los datos que se va a usar actualización.LOCATION
: Es la región de Google Cloud en la que se encuentran se creó el análisis de calidad.DESCRIPTION
: Es la descripción nueva de los datos. análisis de calidad.
REST
Usa el Explorador de APIs para editar tu análisis de calidad de los datos.
Cómo borrar un análisis de calidad de los datos
Console
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
: El nombre del análisis de calidad de los datos que se va a usar borrar.LOCATION
: Es la región de Google Cloud en la que se encuentran se creó el análisis de calidad.
REST
Usa el Explorador de APIs para borrar tu análisis de calidad de los datos.
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 Administra las reglas de calidad de los datos como código con Terraform.