Saltar al contenido
Logotipo de Trainontech Trainontech

Big Data e Ingeniería de Datos · BIG-112

Spark con Scala en notebook

Programar Spark con su API nativa en Scala desde un cuaderno con el kernel Almond.

Próximamente Avanzado 6 módulos · 25 clases

Formato asíncrono Desarrollo, Ingeniería / Industria Spark, Scala, JupyterLab

Lo que aprenderás

  • Configurar el kernel Almond en JupyterLab y gestionar dependencias con coordenadas Maven.
  • Escribir transformaciones con DataFrame y Dataset aprovechando el tipado estático de Scala.
  • Definir codificadores y clases de caso para trabajar con Dataset tipado sin perder rendimiento.
  • Comparar el coste de una función definida por el usuario en Scala frente a la de Python.
  • Aplicar funciones de orden superior y colecciones de Scala dentro de un flujo distribuido.
  • Empaquetar el código del cuaderno en un proyecto sbt listo para spark-submit.

Contenido del curso

6 módulos · 25 clases en vídeo · práctica guiada en cada módulo

Módulo 1 · Entorno y Scala mínimo 5 clases
  • Por qué la API nativa y qué se gana
  • JupyterLab con el kernel Almond
  • Sintaxis de Scala imprescindible
  • Inmutabilidad, val y colecciones
  • Dependencias con coordenadas Maven
Módulo 2 · DataFrame en Scala 4 clases
  • Sesión de Spark y primer DataFrame
  • Columnas, expresiones y tipado
  • Lectura y escritura con esquema explícito
  • Equivalencias con PySpark línea a línea
Módulo 3 · Dataset tipado 4 clases
  • Clases de caso como esquema
  • Codificadores y su papel en el rendimiento
  • map, flatMap y operaciones tipadas
  • Cuándo el Dataset compensa frente al DataFrame
Módulo 4 · Funciones y extensiones 4 clases
  • Funciones definidas por el usuario en Scala
  • Funciones de orden superior sobre columnas complejas
  • Agregadores personalizados
  • Comparativa de coste con la ruta de Python
Módulo 5 · Del cuaderno al proyecto 4 clases
  • Estructura de un proyecto sbt
  • Construcción del paquete ensamblado
  • Pruebas del proceso con datos de ejemplo
  • Ejecución con spark-submit
Módulo 6 · Caso práctico 4 clases
  • Proceso de transformación exigente en PySpark
  • Reescritura completa en Scala
  • Medición comparada con la misma carga
  • Criterios de elección para el equipo

Requisitos

  • Experiencia previa con Spark, preferiblemente desde PySpark.
  • Programación en algún lenguaje de la máquina virtual de Java o disposición a asumir la sintaxis de Scala.
  • Manejo de línea de comandos y de gestión de dependencias en proyectos.

Descripción

Cuando el trabajo de Spark está en el camino crítico, la penalización de serializar datos entre la máquina virtual de Java y Python deja de ser un detalle. La API nativa en Scala evita ese salto, permite Dataset tipado y detecta en compilación errores que en Python aparecen a mitad de un proceso largo. El precio es un lenguaje nuevo y una cadena de construcción distinta.

El curso reduce ese precio trabajando en cuadernos con el kernel Almond, de modo que se prueba código Scala de forma interactiva sin montar antes un proyecto completo. Se recorre la sintaxis necesaria, se reescriben procesos conocidos de PySpark a Scala, se comparan tiempos con las mismas cargas y al final se empaqueta el resultado en un proyecto sbt.

Al terminar, un equipo puede decidir con datos qué procesos merecen estar en Scala y cuáles se quedan en Python, y mantener ambos sin fricción. Continúa de forma natural hacia la optimización avanzada de Spark, hacia el procesamiento continuo y hacia el diseño de plataformas donde conviven varios lenguajes.

¿Para quién es este curso?

  • Personas desarrolladoras de datos con procesos de Spark en el camino crítico del negocio.
  • Equipos de ingeniería que mantienen código Scala heredado y necesitan entenderlo y ampliarlo.
  • Perfiles técnicos que evalúan el coste real de la ruta de Python frente a la nativa.
Próximamente

Curso en hoja de ruta. Se prioriza según la demanda recogida y los proyectos en cartera.

Código
BIG-112
Nivel
Avanzado
Público
Desarrollo, Ingeniería / Industria
Entorno
Spark, Scala, JupyterLab

Este curso incluye

  • 25 clases en vídeo bajo demanda
  • Práctica íntegramente en JupyterLab, solo con un navegador
  • Tutorización en el campus
  • Acceso desde móvil, tableta y ordenador
  • Actualizaciones cuando cambia la versión de la herramienta
  • Certificado de finalización

Sigue aprendiendo

Cursos relacionados

Bajo demanda

BIG-110Big Data e Ingeniería de Datos

Apache Spark con PySpark

DataFrames distribuidos, transformaciones perezosas y ejecución sobre clúster desde el cuaderno.

SparkPythonJupyterLab

Avanzado 30 clases

Bajo demanda

BIG-120Big Data e Ingeniería de Datos

Apache Kafka: fundamentos

Topics, particiones, grupos de consumidores y retención: el sistema nervioso de la arquitectura de datos.

KafkaDocker

Avanzado 28 clases

Bajo demanda

BIG-130Big Data e Ingeniería de Datos

Apache Airflow: orquestación de pipelines

DAGs, dependencias, reintentos y alertas para procesos nocturnos que no se pueden caer.

AirflowPythonDocker

Avanzado 29 clases