Como prepararse para la certificación Spark & Hadoop Developer (CCA-175) de Cloudera

Jesús Méndez Galvez
Disruptiva by DataHack
4 min readMar 27, 2019

Hola a todos, hace unas semanas obtuve la certificación en Apache Spark (CCA-175) de Cloudera, y me gustaría compartir mi experiencia y recomendaciones a todos los que deseen obtenerla.

Detalles del examen:

Luego de hacer el pago debemos registrar / programar el día y la hora en la que daremos el examen, esto podemos hacerlo en www.examslocal.com

Plataforma: El examen es online, te enviarán un link para conectarte a una web y desde ahí podrás ingresar a una VM que será el cluster donde realizarás la prueba. Es necesario que cuentes con una cámara web, ya que durante el examen deberás tenerla encendida todo el tiempo.

Duración: La prueba tiene una duración de 2 Horas, la cantidad de preguntas son entre 8 -12, en mi caso fueron 9.

Software: Todas las herramientas que podrás usar durante la prueba estarán dentro de la máquina virtual (sublime text, notepad, consola cmd, jupyter, gchrome, etc)

Documentación: Solo podrás revisar la documentación oficial de cada herramienta que usarán (Apache Sqoop, Spark, Hive, Kafka, Scala, etc)

En el examen no te verás obligado a usar una herramienta especifica ya que lo único que importa son los resultados. Es decir, podrás usar la herramienta con la que te sientas más cómodo y preparado.

Como prepararse:

Luego de revisar muchos foros, páginas de preparación para el examen CCA175, dejo aquí los que más me ayudaron.

  1. Itversity: Foro donde detallan un plan de preparación para el examen (incluyen vídeos, foro de discusión, escenarios de ejemplo, etc). Aquí encontrarás mucho material para estudiar, incluso debatir sobre la mejor solución de un problema. http://www.itversity.com/courses/cca-spark-and-hadoop-developer-preparation-plan/
  2. Udemy: Curso de preparación para el examen CCA175. No tuve la oportunidad de llevarlo pero sé que es uno de los cursos más completos que hay en la red, enseñan desde lo básico de Apache Spark hasta la resolución de problemas complejos. Es liderado por Durga Viswanatha Raju. https://www.udemy.com/cca-175-spark-and-hadoop-developer-certification-scala/
  3. Blog de Arun Kumar: Es un blog que nos brinda escenarios cercanos a lo que encontraremos en el examen de certificación, es casi obligatorio resolver todos los problemas. http://arun-teaches-u-tech.blogspot.com/p/certification-preparation-plan.html

Recomendaciones para el examen (Tips):

Sugiero estudiar los siguientes tópicos:

  1. Comandos HDFS: es importante conocer estos comandos para la revisión de los datos y/o validación de los resultados (get,put,ls,cat,head, etc)
  2. Importar / Exportar datos usando conexión JDBC a una base de datos, por ejemplo (MySQL). En ambos casos considerar delimitadores, tipos de compresión, tipos de formatos. Es importante conocer el resto de argumentos como -m, -split-by, -query, -columns, etc.
  3. Crear tablas Hive usando una ruta definida, con formatos de almacenamiento serializados (parquet,avro, orc).
  4. Lenguaje SQL, sentencias con agrupaciones, filtros, joins, sumas, promedios, etc.
  5. SparkRDDs, practicar lectura de datos con diferentes delimitadores, escritura en muchos formatos y distintas compresiones.
    Transformaciones de datos, joins, agrupaciones, filtros, conversiones, etc.
  6. Spark DF, conversión de tipos de datos, SparkSQL, transformaciones.
    Trabajar con formatos JSON en escritura y lectura.
  7. SparkStreaming, lectura de datos desde HDFS en formato texto y realizar una transformaciones y agrupaciones.

Tips:

En el examen podrás usar la versión de Apache Spark 1.6 y 2.3. Yo recomiendo usar 1.6 .

Recomiendo resolver los ejercicios con Scala, sin embargo si sabes python no hay problema.

Se debe practicar sobre una VM oficial de cloudera que tiene la versión de spark 1.6, esto es lo más cercano a un entorno de certificación

Sugiero dedicarle 1 min aproximadamente en leer y entender bien las instrucciones del caso planteado.

Debes controlar tu tiempo, lo recomendable es que te tengas tiempo de sobra (20 min aproximadamente) para realizar una validación a las respuestas.

Validar siempre los resultados obtenidos, revisar los tipos de datos que te piden como resultado… no es lo mismo 50 que 50.0

Para agilizar el desarrollo de las preguntas, yo sugiero que el código de las respuestas la escriba sobre un notepad o SublimeText y luego pasarlo a la consola. Esto ayudará tener mapeado todas tus respuestas y posteriormente puedas revisar tus errores eficientemente.

Usar varias consolas en el desarrollo, personalmente me ayudó mucho para agilizar mi tiempo en las respuestas.

Distribuir bien tu tiempo: No dedicarle más de 10 min a un problema, si aún no tienes la respuesta pasa al siguiente caso para que no generes bloqueos.

Tomar el examen de noche o madrugada, menos ruido y podrás tener mayor concentración.

Practicar en la nube:

Recomiendo tener un entorno en la nube para realizar practicas de código usando un cluster de Apache Spark en Databricks.

Les dejo un ejemplo de como resolver un ejercicio que podemos encontrar en el examen:

El dataset de prueba del ejercicio lo encuentran en:

Espero haberlos ayudado, nos vemos en el próximo articulo. :)

--

--