¡Bienvenido/a al proceso de selección para Governance Developer en DeAcero!
Tu misión es demostrar tus habilidades en la implementación de un marco de gobierno de datos de extremo a extremo utilizando Google Cloud Platform. Para ello, trabajarás con el conocido dataset público de Stack Overflow, simulando que es la base de conocimiento interna de nuestra organización.
El objetivo es catalogar los activos clave, proteger la privacidad de los usuarios, asegurar la integridad de los datos, automatizar el proceso y demostrar cómo medirías y comunicarías el valor de estas iniciativas.
Dataset Público a Utilizar: bigquery-public-data.stackoverflow
- ✅ Catalogar activos clave de forma automatizada usando un archivo de configuración YAML
- ✅ Implementar una política de seguridad para proteger la información personal de los usuarios mediante el enmascaramiento de datos
- ✅ Implementar una política de calidad para asegurar la integridad de los datos
- ✅ Containerizar la solución con Docker y CI/CD
- ✅ Analizar y documentar conceptos clave de gobernanza como el linaje, las métricas de cumplimiento y la comunicación con stakeholders
- Crea un Dataplex Lake en una región de tu elección (ej.
us-central1) - Dentro de ese Lake, crea una Dataplex Zone de tipo Curated Zone
- Asocia la Zone que creaste con el dataset completo de BigQuery:
bigquery-public-data.stackoverflow - Asegúrate de que Dataplex descubra los assets (las tablas) correctamente
Crea un archivo YAML para definir los metadatos de las siguientes tres tablas: users, posts_questions, y posts_answers.
Desarrolla un script en Python que lea este archivo y utilice la biblioteca cliente de Google Cloud para Data Catalog para actualizar las descripciones y adjuntar los tags a las tablas correspondientes en Dataplex.
tables:
-
table_id: users description: "Tabla maestra de usuarios. Contiene información personal identificable (PII) y debe ser tratada como sensible." data_steward: "identity_management@deacero.com" tags:
- "PII_Direct"
- "User Data"
- "Sensitive"
-
table_id: posts_questions description: "Contiene todas las preguntas creadas por los usuarios. El contenido es generado por el usuario." data_steward: "knowledge_management@deacero.com" tags:
- "User Generated Content"
- "Knowledge Base"
-
table_id: posts_answers description: "Contiene las respuestas a las preguntas. Vinculada a las preguntas y a los usuarios." data_steward: "knowledge_management@deacero.com" tags:
- "User Generated Content"
- "Transactional Data"
Crea un Aspect Type personalizado en Dataplex para enriquecer los metadatos de las tablas con información de gobierno de datos adicional.
Usando las funcionalidades de Dataplex, crea un nuevo Aspect Type llamado "data_governance_aspect" con los siguientes campos:
- Owner: Campo de texto para especificar el propietario de los datos (
dataowner@deacero.com) - Freshness: Campo de enumeración para indicar la frecuencia de actualización (
daily,weekly,monthly)
Asigna este Aspect Type a las tres tablas principales (users, posts_questions, posts_answers) con los siguientes valores:
- Owner:
"dataowner@deacero.com" - Freshness:
"daily"
Demuestra que los Aspect Types se han aplicado correctamente a las tablas en la UI de Dataplex.
La tabla users contiene datos que deben ser protegidos. Tu tarea es implementar una política de enmascaramiento.
Usando las funcionalidades de "Policies", crea una nueva regla de política de datos.
- Recurso: Aplica la política a las columnas
display_nameylocationde la tablabigquery-public-data.stackoverflow.users - Roles/Principales: Asigna la política a tu propia cuenta de usuario
- Tipo de Enmascaramiento: Configura la regla para que enmascare los datos usando un hash SHA-256
Ejecuta una consulta en BigQuery:
SELECT display_name, location
FROM `bigquery-public-data.stackoverflow.users`
LIMIT 10;Demuestra que los valores aparecen enmascarados para tu usuario.
El equipo de negocio ha reportado que a veces se crean preguntas sin un autor asignado, lo cual es un problema de integridad. Tu tarea es crear una regla que monitoree este problema.
Utilizando la funcionalidad de Data Quality dentro de Dataplex, crea una nueva regla para la tabla posts_questions.
La regla debe verificar que la columna owner_user_id nunca sea nula.
Ejecuta el "job" de calidad de datos y proporciona un screenshot del resultado, mostrando el porcentaje de cumplimiento de la regla.
Para hacer la solución reproducible y escalable, implementa la containerización y automatización del proceso.
Esta parte no requiere código adicional, sino tu análisis como experto en gobernanza. En tu archivo README.md, crea una sección dedicada a este análisis y responde a lo siguiente:
Explica la relación de linaje principal entre users, posts_questions y posts_answers. ¿Por qué un "Community Manager" se beneficiaría de poder visualizar este linaje? Escribe un párrafo breve (máximo 100 palabras) explicándole en términos sencillos qué es el linaje de datos y por qué es importante que él/ella sepa que la tabla posts_questions está conectada a la tabla users.
Crea un fork de este repositorio que contenga:
- ✅ Todos los artefactos, scripts, documentos que creaste
- ✅ Archivo YAML de configuración de metadatos
- ✅ Scripts Python para cada parte de la implementación
- ✅
Dockerfileydocker-compose.yml - ✅ Pipeline de CI/CD (github, gitlab o bitbucket)
- ✅ Archivo
requirements.txt
- ✅ README.md con:
- Instrucciones claras de configuración y ejecución
- Comandos Docker para ejecutar la solución
- Plan de implementación para la Parte 6
- Análisis de gobernanza completo de la Parte 7
- Cualquier suposición que hayas hecho
- ✅ Screenshots de:
- Resultado de la carga de metadatos en la UI de Dataplex
- Resultado de la consulta en BigQuery que demuestra el enmascaramiento
- Resultado del job de Calidad de Datos
- Pipeline de CI/CD ejecutándose exitosamente
- Contenedor Docker funcionando
- ✅ Documento final para presentar tu trabajo (PowerPoint, PDF, etc.)
- Proyecto:
bigquery-public-data - Dataset:
stackoverflow - Tablas principales:
users,posts_questions,posts_answers
¡Demuestra tu expertise en gobierno de datos y buena suerte! 🎯
© 2025 DeAcero Analytics Team