Crear perfiles de calidad de los datos y validarlos
En esta guía de inicio rápido, se muestra cómo usar Knowledge Catalog (antes Dataplex Universal Catalog) para crear un perfil de una tabla de BigQuery, definir reglas de calidad de los datos basadas en estadísticas del perfil y ejecutar un análisis de calidad de los datos.
Completa los siguientes pasos:
- Crea un conjunto de datos y una tabla de BigQuery con datos de muestra de bicicletas compartidas que contengan anomalías intencionales, como duplicados y valores nulos, para probar las capacidades de análisis.
- Crea y ejecuta un análisis de perfil de datos en la tabla. El perfilamiento de datos calcula estadísticas a nivel de la columna, como los porcentajes de valores nulos, los recuentos de valores únicos y las distribuciones de valores. Para obtener más información, consulta Acerca de la generación de perfiles de datos.
- Revisa los resultados del análisis del perfil de datos para encontrar patrones y posibles anomalías.
- Define reglas de calidad de los datos según los resultados del perfil y ejecuta un análisis de calidad de los datos. Los análisis de calidad de los datos validan tus datos según las reglas definidas para identificar anomalías. Para obtener más información, consulta Información sobre la calidad de los datos automáticos.
- Revisa los resultados de la evaluación para ver qué reglas de calidad se aprobaron o rechazaron.
Antes de comenzar
Haz lo siguiente para configurar tu proyecto:
- Accede a tu cuenta de Google Cloud . Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Knowledge Catalog and BigQuery APIs.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Knowledge Catalog and BigQuery APIs.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
Roles obligatorios
Para obtener los permisos que necesitas para crear y ejecutar análisis de perfil y calidad de los datos, y administrar recursos de BigQuery, pídele a tu administrador que te otorgue los siguientes roles de IAM en el proyecto:
-
Crear, ejecutar y borrar análisis de datos:
Editor de DataScan de Dataplex (
roles/dataplex.dataScanEditor) -
Crear, completar y borrar tablas de muestra:
Propietario de datos de BigQuery (
roles/bigquery.dataOwner) -
Ejecutar consultas en SQL en BigQuery:
Usuario de trabajo de BigQuery (
roles/bigquery.jobUser)
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
Si tienes los permisos necesarios para administrar el acceso a IAM en tu proyecto, puedes otorgar estos roles a tu propia cuenta de usuario ejecutando los siguientes comandos de gcloud:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="user:USER_EMAIL" \
--role="roles/dataplex.dataScanEditor"
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="user:USER_EMAIL" \
--role="roles/bigquery.dataOwner"
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="user:USER_EMAIL" \
--role="roles/bigquery.jobUser"
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto de Google Cloud .USER_EMAIL: La dirección de correo electrónico de tu cuenta de usuario (por ejemplo,name@example.com)
Otorga permisos al agente de servicio de Knowledge Catalog
Un agente de servicio es una cuenta de servicio administrada por Google que Knowledge Catalog usa para ejecutar consultas de análisis en BigQuery en tu nombre.
En la Google Cloud consola, haz clic en Activar Cloud Shell en la barra de herramientas. El aprovisionamiento y la conexión al entorno demorarán unos minutos.
Crea el agente de servicio de Knowledge Catalog:
gcloud beta services identity create --service=dataplex.googleapis.comEste comando crea el agente de servicio si aún no se aprovisionó y muestra su correo electrónico. Si tu proyecto ya tiene un agente de servicio de Knowledge Catalog, el comando devolverá la identidad existente sin realizar ningún cambio.
El resultado es similar a lo siguiente:
serviceAccount:service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.comToma nota del
PROJECT_NUMBERen el resultado para los próximos pasos.Otorga el rol de Usuario de trabajo de BigQuery (
roles/bigquery.jobUser) para que Knowledge Catalog pueda ejecutar trabajos de consulta en tu proyecto:gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com" \ --role="roles/bigquery.jobUser"
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto de Google Cloud .PROJECT_NUMBER: Es el número del proyecto de Google Cloud .
Otorga el rol de visualizador de datos de BigQuery (
roles/bigquery.dataViewer) para que el agente de servicio pueda leer los datos y el esquema de tu tabla:gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com" \ --role="roles/bigquery.dataViewer"
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto de Google Cloud .PROJECT_NUMBER: Es el número del proyecto de Google Cloud .
Crea un conjunto de datos y una tabla de muestra
Para probar los análisis de calidad de los datos y la generación de perfiles de forma segura sin afectar los datos de producción, configura un conjunto de datos de BigQuery dedicado y crea una tabla que contenga datos de muestra directamente en tu proyecto.
Console
En la consola de Google Cloud , ve a la página BigQuery.
En el panel Explorador, haz clic en Ver acciones junto al ID de tu proyecto y, luego, en Crear conjunto de datos.
En el campo ID de conjunto de datos, ingresa
quickstart_data_profile.En la lista Ubicación de los datos, selecciona us-central1 (Iowa).
Haz clic en Crear conjunto de datos.
En el editor de consultas, ingresa la siguiente consulta en SQL para generar datos de ejemplo de bicicletas compartidas en tu tabla
bikeshare_trips:CREATE OR REPLACE TABLE `PROJECT_ID.quickstart_data_profile.bikeshare_trips` AS SELECT -- Duplicate and null IDs IF(MOD(x, 100) = 0, NULL, IF(x > 9900, 1000 + (x - 9900), 1000 + x)) AS trip_id, -- Nulls and unrecognized category values CASE WHEN MOD(x, 50) = 0 THEN 'INVALID_TIER' WHEN MOD(x, 25) = 0 THEN NULL WHEN MOD(x, 4) = 0 THEN 'Local Rider' WHEN MOD(x, 4) = 1 THEN 'Walk Up' WHEN MOD(x, 4) = 2 THEN 'Student Membership' ELSE 'Weekender' END AS subscriber_type, -- Nulls and malformed bike IDs CASE WHEN MOD(x, 60) = 0 THEN 'UNKNOWN' WHEN MOD(x, 30) = 0 THEN NULL ELSE CAST(2000