Cómo aprobar la certificación Databricks Data Analyst Associate

Esta ha sido hasta ahora mi última certificación aprobada. Es una certificación bonita, he de decir que aprendí bastante pero eran características que desconocía por completo del entorno Databricks, no obstante, creo que aunque es un buen reto para aprender este ha de ser enfocado principalmente a perfiles Data Analyst como tal, que trabajen con visualización o a Data Engineer versátiles que se mueven bien entre BI y Data Engineering o sencillamente un Data engineer con vocación al análisis.

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

  • Databricks SQL – 22% (10/45)
  • Data Management – 20% (9/45)
  • SQL – 29% (13/45)
  • Data Visualization and Dashboards – 18% (8/45)
  • Analytics Applications – 11% (5/45)

Siendo más específicos, la cualificación minima del candidato para aprobar debería ser la siguiente:

  • Describe Databricks SQL and its capabilities, including:
    • Databricks SQL (users, benefits, queries, dashboards, compute)
    • Integrations (Partner Connect, data ingestion, other BI tools)
    • Lakehouse (medallion architecture, streaming data)
  • Manage data with Databricks tools and best practices, including:
    • Delta Lake (basics, benefits)
    • Storage and Management (tables, databases, views, Data Explorer)
    • Security (table ownership, PII data)
  • Use Structured Query Language (SQL) to complete tasks in the Lakehouse, including:
    • Basic SQL (basic query structure, combining data, aggregations)
    • Complex Data (nested data objects, roll-ups, windows, cubes)
    • SQL in the Lakehouse (ANSI SQL, working with silver-level data, query history, higher-order functions, user-defined functions)
  • Create production-grade data visualizations and dashboards, including:
    • Visualization (Databricks SQL capabilities, types of visualizations, storytelling with data)
    • Dashboarding (Databricks SQL capabilities, parameterized dashboards and queries, sharing)
    • Production (refresh schedules, query alerts)
  • Develop analytics applications to solve common data analytics problems, including:
    • Descriptive Statistics (discrete statistics, summary statistics)
    • Common Applications (data enhancement, data blending, last-mile ETL)

Mi opinión acerca del examen

Para empezar al examen le daría una ponderación de 5-5,5 sobre 10, es decir, me pareció un poco más sencillo que el Data Engineer Associate, eso si he de decir que tener conocimientos en el anteriormente mencionado me ha ayudado mucho a afrontar las preguntas de este examen. Dentro de las preguntas claves y conceptos a dominar de cara al examen recomiendo:

  • Tener muy claro Lakehouse, características y ventajas. Arquitectura multihop/Medallion
  • Cual es el Rol a llevar a cabo por un Data Analyst
  • Qué es partner Connect y para que sirve? me sirve para conectar una herramienta de Bi?
  • Repasar muy bien el entorno grafico y conocer las características, por ejemplo: Saber que el query editor, nos permite guardar y ejecutar consultas así como programar (schedule) un refresh de la consulta.
  • Estudiar a fondo:
    • Query
    • Alert
    • Visualization (tener claro todas las posibles, es el bar diagram los mismo que un histogram? cuáles son los pasos para crear una vista counter)
    • Dashboard
  • Tener muy en cuenta Refresh (Schedule) en: Quey, Alerts, Dashboards
  • Gestión de permisos desde SQL y el Data explorer
  • Habrán ejercicios de SQL que contemplen Join (left, right, inner, self, left anti) con incluso con operaciones de ventana (rank, dense_rank, row_number), repasar como tratar datos en SQL de tipo: Array, Json y operaciones como explode, coalesce, etc

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)
  • Hacer el learning plan de Data Analyst Associate de la Databricks academy
  • Revisar 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
  • Canal de Youtube de Databricks
  • En este caso la versión community no nos servirá para nada ya que el SQL workspace está presente únicamente en la versión de pago por lo cual para mitigar esta carencia intentando gastar lo mínimo 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 Analyst Associate cuál será tu siguiente reto? La Data Analyst Professional, La Data Engineer Associate o la ML Practitioner.

Cómo aprobar la certificación Databricks Data Engineer Associate

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.

Cómo aprobar la certificación Databricks Spark 3.0

Finalmente ha llegado a mi correo mi certificación de Databricks Spark 3.0 tras haber aprobado dicho examen. El examen lo presenté el 14 de abril del 2021 y les voy a contar brevemente como fue el examen, de qué trata y qué hice para aprobarla.

El examen

Las características del examen son las siguientes:

  • Duración: 120 minutos.
  • Consta de 60 preguntas y apruebas con al menos 42 aprobadas (es decir, el 70%). Las cuales se distribuyen aproximadamente de la siguiente manera:
    • Spark Architecture: Conceptual understanding (~17%)
    • Spark Architecture: Applied understanding (~11%)
    • Spark DataFrame API Applications (~72%)
  • El examen es online y presentas desde por ejemplo tu casa, eso si, te estarán viendo por la cámara de tu ordenador, por lo cual no puedes ni debes abandonar tu sitio durante el examen, por lo cual asegúrate de hacer tus necesidades antes del examen.
  • No podrás tener accesorios a la mano como móviles, relojes, etc. Sencillamente cuentas con tu ordenador y en el examen te darán distintos PDF que abarcan todo el API.
  • Al comprar el examen seleccionas si presentarás el examen enfocada en la API Python o Scala de Spark.

OJO: No olvides días previos al examen entrar a la Web del examen y culminar el alta, que consiste en un software que reconoce tu rostro. NO LO DEJES PARA ÚLTIMO MOMENTO.

El examen consta de únicamente preguntas de selección múltiple, aunque eso si, no todas van de conceptos, las preguntas dada mi experiencia se componen de:

  • Evaluación de conceptos, por ejemplo: Cuales de las siguientes características no pertenece a las narrow transformations. NOTA: Cuidado con esas negaciones.
  • Dado un trozo de código seleccionar la opción que indique la razón del fallo.
  • Dado un trozo de código seleccionar la opción que representa el resultado final.
  • Dado un trozo de código incompleto seleccionar la opción que contiene esas partes de código que se usarían para completar el trozo de código para poder llevar a cabo una tarea de forma exitosa.

Las preguntas

Tal cual como lo indica la página dedicada a la certificación el contenido a evaluar es:

  • Arquitectura de Spark y el nuevo AQE (Adaptive Query Execution)
  • API Dataset:
    • Seleccionar, renombrar y manipular columnas.
    • filtrado, ordenamiento, eliminación y agregación de registros (filas).
    • Joins entre tablas, lectura, escritura y particionamiento en DataFrames.
    • UDFs y funciones Spark SQL.
  • Hay preguntas no solo del API Dataset sino también propiedades de configuración como por ejemplo spark.sql.shuffle.partitions
  • Las preguntas de completado de código eran como el siguiente ejemplo:

Donde las opciones a escoger serían:

  1. readDF, text, load
  2. readDF, ‘csv’, csv
  3. read, ‘csv’, load => Opción correcta
  4. read, csv, load

La plataforma te permite marcar preguntas para ser revisadas más adelante, cosa que yo aconsejo utilizar, hacer una pasada rápida por las preguntas, selecciona una respuesta y sobre aquellas que se tenga una mínima duda sencillamente se marca y le das una revisión, de esta forma tendrás oportunidad de responder todas las preguntas y revisar en 2 o hasta 3 ocasiones todas las preguntas que hayas dejado marcadas.

Finalizado el examen

Tan pronto finalizas el examen podrás observar por pantalla una valoración no definitiva del resultado de la prueba y minutos después recibirás un correo con la nota, donde ya te indican si aprobaste (o no, pero si sigues mi receta aprobarás) y luego pasados unos 7 días hábiles o quizás un poco menos recibes tu certificado por correo.

Receta para aprobar el examen

Ahora es tu turno, te animas a afrontar este reto, tienes alguna otra certificación en mente, estás indeciso en cual certificación de Spark tomar o si por el contrario ya presentaste está o alguna otra certificación cuéntanos qué tal te fue.

Certificación Databricks Spark 3.0

Muchos de los que me conocen saben que soy fiel a las certificaciones y como siempre digo, no es el papel con el aprobado lo que importa sino todo el proceso de prepararse para presentar y aprobar el examen lo que realmente vale, ya que es durante este proceso que empezamos a conocer, a meternos en las entrañas de un software, lenguaje de programación o plataforma, es decir, sencillamente salimos de nuestra zona de confort y empezamos a hacernos preguntas fuera de lo común y buscamos sus respectivas respuestas (de haberlas) o buscamos soluciones alternativas (también de haberlas), todo eso deriva en APRENDIZAJE.

Insisto me encantan las certificaciones pero porque para mí significan plantearme un reto y demostrarme a mí mismo que soy capaz de seguir aprendiendo, que si puedo aprender un nuevo lenguaje, que todavía tengo la fuerza y las ganas de superación para actualizarme en alguna tecnología en especial. Con el pasar del tiempo les confieso que cada vez se me ha hecho más difícil el intentar plantearme un reto de este tipo, por razones como la escasez de tiempo, la cantidad de trabajo, o el aprender en un marco muy estricto, pero creo que ya ha llegado la hora de proponerme otro de esos retos y que ya les contaré si lo consigo o no y es preparar la certificación Databricks Certified Associate Developer for Apache Spark 3.0. Por qué esta certificación y no otra:

  • Investigar las nuevas características de Spark 3.0.
  • El contenido a evaluar: Selección, renombrado y eliminación de columnas. Filtrado, ordenamiento y agregación. Join, lectura y escritura en distintos formatos, UDF y funciones SQL.
  • Poder evaluarme con Scala.
  • Contar con material de referencia previo.

A su vez una razón de peso para mí es que al presentarla y aprobarla, esto motive a la gente que trabaja conmigo para que a su vez sientan ese deseo por aprender y especializarse e incluso no comentan los mismos errores que yo y que al menos ya cuenten con algo de material de apoyo para empezar.

El material de referencia que utilizaré para prepararme serán los libros:

  • Learning Spark 2nd Edition (Sobre todo para aprender todo lo nuevo de Spark 3.0).
  • Spark the definitive guide.

A su vez sigo el blog de Databricks que cada tanto comparte información importante sobre todo referente a cómo funciona Spark.

Por último he comenzado a crear una serie de notebooks con ejemplos muy simples (tanto en Scala como Python) que comparto con todos intentando abarcar todo el contenido.

Aquí les dejo el enlace espero que sea de ayuda y les motive a aprender y afrontar esta certificación e incluso les motive a seguir. Este mes es mi cumpleaños y dudo que me dé una paliza repasando pero quizás (y por eso lo comparto para crear una especie de compromiso) me disponga a presentar en abril y espero poder aprobar a la primera.