Este año en cuanto ha certificaciones ha sido productivo me he logrado certificar en Terraform, Azure y algunas de Databricks que es de las que les quiero hablar hoy, mi receta para aprobar la Databricks Data Engineer Associate.
El examen
Consta de 45 preguntas de selección multiple a resolver en 90 minutos
El mínimo para aprobar es un 70% lo cual se corresponde con 32 preguntas respondidas correctamente
Objetivos a cubrir en el examen
Se deben dominar los siguientes tópicos:
- Delta Lake
- Relational entities on Databricks
- ETL with Spark SQL
- Just enough Python for Spark SQL
- Incremental data processing with Structured Streaming and Auto Loader
- Medallion architecture in the data lakehouse
- Delta Live Tables
- Task orchestration with Databricks Jobs
- Databricks SQL
- Databricks Repos
- Managing permissions in the lakehouse(Unity Catalog)
- Productionizing dashboards and queries on Databricks SQL
Siendo más específicos como detalla la página, la cualificación minima del candidato debería ser la siguiente
- Understand how to use and the benefits of using the Databricks platform and its tools, including:
- Platform (notebooks, clusters, Jobs, Databricks SQL, relational entities, Repos)
- Apache Spark (PySpark, DataFrame API, basic architecture)
- Delta Lake (SQL-based Delta APIs, basic architecture, core functions)
- Databricks CLI (deploying notebook-based workflows)
- Databricks REST API (configure and trigger production pipelines)
- Build data processing pipelines using the Spark and Delta Lake APIs, including:
- Building batch-processed ETL pipelines
- Building incrementally processed ETL pipelines
- Optimizing workloads
- Deduplicating data
- Using Change Data Capture (CDC) to propagate changes
- Model data management solutions, including:
- Lakehouse (bronze/silver/gold architecture, databases, tables, views, and the physical layout)
- General data modeling concepts (keys, constraints, lookup tables, slowly changing dimensions)
- Build production pipelines using best practices around security and governance, including:
- Managing notebook and jobs permissions with ACLs
- Creating row- and column-oriented dynamic views to control user/group access
- Securely storing personally identifiable information (PII)
- Securely delete data as requested according to GDPR & CCPA
- Configure alerting and storage to monitor and log production jobs, including:
- Setting up notifications
- Configuring SparkListener
- Recording logged metrics
- Navigating and interpreting the Spark UI
- Debugging errors
- Follow best practices for managing, testing and deploying code, including:
- Managing dependencies
- Creating unit tests
- Creating integration tests
- Scheduling Jobs
- Versioning code/notebooks
- Orchestration Jobs
Mi opinión acerca del examen
El examen es de dificultad media y requiere conocimientos de:
Spark (batch & streaming), Delta tables, Delta Live Tables, Permisos, Jobs, pipelines y dominar el concepto de Data Lakehouse.
Las preguntas que me aparecieron en el examen fueron del tipo:
- Donde puedo ver si tengo permisos para acceder a una tabla o donde y/o como puedo ver quien es el owner de la tabla para poder solicitarle permisos
- Como conceder permisos en SQL a un grupo para acceder a una tabla
- Ejemplo de Autoloader (Streaming de ficheros en cloud utilizado por Databricks)
- Conocer bien arquitectura multi-hop para así saber responder en que forma están almacenados los datos en una tabla (bronze, silver o gold) así como también cual es el objetivo de cada una de estas
- Para qué es el depends on de una tarea (task) en un pipeline
- Cuando se utiliza el STREAM(live table) en SQL para leer de una tabla
- Ejemplo de Left/Right join y cual sería el resultado final (Ten en cuenta que te pondrán 2 tablas y te preguntaran por el resultado del Join)
- Que significa que se hayan borrado los datos y métodos de una tabla al hacer un DROP (que era una tabla managed), por ende conocer bien las diferencia y como se declaran las tablas managed y externas
- Declaración de tablas externas a partir de datos CSV y/o JSON (por ejemplo CREATE TABLE .. USING CSV)
- Entender cuando crear una Vista o una TEMP VIEW. Por ejemplo -> Si la «tabla temporal»(aunque todos sabemos que aquí no existe tal cosa de tabla temporal) no ha de ser utilizada por ningún otro usuario excepto tu, ya puedes intuir que una vista temporal (temporal view) será la opción y por ende descartas la vista (view)
Por último mencionar que en mi caso salieron varias preguntas acerca del SQL EndPoint y de la definición de pipelines.
Material de estudio:
- Hacer el curso de Data Lakehouse proporcionado por la misma página de Databricks academy (puedes darte de alta gratis como customer)
- Asumiendo que ya conoces Spark, Hacer la formación de Data Engineer Associate de la Databricks academy
- Clonar o cargar los los notebooks desde el GitHub de Databricks academy y hacer todos y cada uno de los ejercicios, allí también encontrarás las presentaciones.
- Documentación de Databricks
- Si no posees una Cuenta Databricks community creala. No obstante, la versión community no te permitirá probar todos los notebooks y hacer todos los ejercicios ya que está capado, por ende no podrás probar AutoLoader, SQL Endpoint, Pipelines ni Delta Live Tables, no obstante como alternativa puedes hacer lo siguiente:
- Estar atento a los workshop que ofrece continuamente Databricks tanto en Azure como AWS y así podrás contar con un cluster a todo dar durante 4-5 horas.
- Aprovecha los free trial de 14 días tanto en AWS (marketplace) como en Azure
Espero que este resumen les pueda ser de ayuda para aprobar el examen. Ahora es tu turno y cuéntanos cuál de todas las certificaciones de Databricks te llama la atención y una vez aprobada la Data Engineer Associate cuál será tu siguiente reto? La Data Engineer Professional, La Data Analyst Associate o la ML Practitioner.