Envíanos tu consulta
Términos y condiciones *
logoImagina

Apache Spark es un framework de computación en clúster de código abierto, orientado al procesamiento de datos en tiempo real, que provee de una interfaz para programar clústers con paralelismo de datos implícito y tolerancia a fallos y actualmente es el proyecto de Apache más activo.

En este curso aprenderás a utilizar Spark desde lo más básico utilizando Scala para operar sobre datos, conocerás qué son los clusters y cómo trabajar con ellos, qué es el machine learning y a desplegar aplicaciones.

iconClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClient
Aprende Spark con Scala: Curso completo

¿A quién va dirigido?

A todos aquellos desarrolladores que quieran aprender la tecnología de procesamiento de datos en memoria más puntera del mercado.

Objetivos del curso de Spark con Scala

  • Aprender a utilizar Scala con el framework Spark 3x a través de Databricks
  • Aprender los fundamentos de Spark y crear RDDs, DataFrames y DataSets
  • Aprender a gestionar, preparar y organizar datos, además de entender el ciclo de vida del dato
  • Aprender a crear, entrenar y evaluar modelos de ML con Spark
  • Aprender a detectar problemas y aplicar buenas prácticas en la gestión de los datos

¿Qué vas a aprender en este curso de Spark con Scala?

Apache Spark es un framework de computación en clúster de código abierto, orientado al procesamiento de datos en tiempo real, que provee de una interfaz para programar clústers con paralelismo de datos implícito y tolerancia a fallos y actualmente es el proyecto de Apache más activo. En este curso aprenderás a utilizar Spark desde lo más básico utilizando Scala para operar sobre datos, conocerás qué son los clusters y cómo trabajar con ellos, qué es el machine learning y a desplegar aplicaciones.

Requisitos

  • Tener experiencia desarrollando con Scala y realizando consultas SQL
  • Son necesarios permisos de instalación en el equipo en el que se realice la formación
  • Tener acceso (revisar configuraciones proxy en caso de tenerlas) a una cuenta Community de Azure Databricks para realizar los laboraorios de Spark
  • Tener Scala, Git y el IDEA IntelliJ configurado para desarrollar proyectos Scala para reproducir ejemplos localmente

Nuestras modalidades de formación

icon
Cursos Online
modalidadesImg
Formación a través de nuestro campus virtual
modalidadesImgBonificable hasta el 100% por FUNDAE
modalidadesImg
Horario Flexible de formación
modalidadesImg
Teoría, práctica y vídeos guiados
modalidadesImgAcceso multiplataforma, desde PC y móviles
modalidadesImg
100% tutorizado por un formador experto
modalidadesImg
Diploma de aprovechamiento
Me interesa
icon
Aula Virtual Personalizada
aulasModalidades
Videoconferencia en tiempo real, síncrono, a través de Zoom
aulasModalidades
Bonificable hasta el 100%, por FUNDAE.
aulasModalidadesPlanificación a medida
aulasModalidades
100% práctico con proyectos evolutivos
aulasModalidades
Temario adaptado a vuestras necesidades
aulasModalidades
100% tutorizado con feedback inmediato
aulasModalidades
Diploma de aprovechamiento
Me interesa
Spark con Scala: Últimas plazas

A continuación te mostramos las próximas convocatorias disponibles de nuestras formaciones online. Si te interesa realizar una formación a medida, para un grupo de trabajadores, puedes realizar un Aula Virtual Personalizada.

Temario del curso de Spark con Scala

tema 1

Introducción

  • El problema del Big Data
  • ¿Qué es Spark?
  • Usos de Spark en el mundo real
  • ¿Qué es Hadoop?
  • HDFS
  • Principales comandos de HDFS
  • Introducción a Yarn
  • Instalación de Hadoop
  • ¿Qué es HBase?
  • Instalación de Scala y Spark localmente
  • Ejecutando la consola interactiva de Spark
  • Configuraciones esenciales y puesta en marcha del equipo local para crear proyectos Spark con Scala
  • Configurando nuestro IDE: IntelliJ IDEA
  • Creación de un proyecto Spark desde IDEA IntelliJ
  • Analizando archivos principales y configuraciones por defecto
  • Arquitectura de los proyectos Spark
  • Analizando los componentes de un proyecto Spark
  • Ejecutando el proyecto Spark localmente
  • Introducción a Azure Databricks y a la creación de una cuenta gratuita
  • Creación de un proyecto Spark en DataBricks
  • Ejecutando el proyecto Spark desde Databricks
  • Recomendaciones en el uso de Databricks
tema 2

Fundamentos y Herramientas de Spark

  • Arquitectura de una aplicación Spark
  • Introducción a las APIs de Spark
  • Iniciando Spark
  • SparkSession
  • Introducción a los Dataframes
  • Introducción a las particiones
  • Introducción a las transformaciones
  • Ejecución de la aplicación
  • Transmisión estructurada
  • Ejecución de aplicaciones en producción
  • Datasets
  • APIs de bajo nivel
  • Ecosistema y paquetes de Spark
tema 3

DataFrames, SQL y DataSets

  • DataFrames
  • DataSets
  • DataFrames vs DataSets
  • Esquemas
  • Columnas y filas
  • Tipos en Spark
  • Planificación lógica
  • Planificación física
  • Ejecución
tema 4

Operaciones estructuradas

  • Operaciones sobre esquemas
  • Columnas y expresiones
  • Creación de filas
  • Creación de DataFrames
  • Selección con "select" y "selectExpr"
  • Conversión de tipos
  • Añadir columnas
  • Renombrado de columnas
  • "Casteo" del tipo de las columnas
  • Obtención de filas
  • Filtrado de filas
  • Muestreo aleatorio
  • Divisiones aleatorias
  • Uniones de filas
  • Aplicando límites
  • Ordenación de filas
  • Repartición y unión
tema 5

Trabajo con tipos distintos de datos

  • Conversión a tipos de Spark
  • Trabajando con números
  • Trabajando con cadenas de texto
  • Trabajando con expresiones regulares
  • Trabajando con fechas y horas
  • Trabajando con booleanos
  • Trabajando con datos nulos
  • Trabajando con arrays, maps, estructuras y otros datos complejos
  • Trabajando con JSON
  • Ordenación de datos
  • Uso de funciones definidas por el usuario
tema 6

Agregaciones y Uniones

  • Funciones de agregación disponibles en Spark
  • Agrupaciones con expresiones
  • Agrupaciones con maps
  • Agrupación de sets
  • Funciones ventana
  • Uso de funciones de agregación definidas por el usuario
  • Expresiones de unión (joins)
  • Tipos de Joins
  • ¿Cómo realiza Spark los joins?
tema 7

Orígenes de datos

  • Las bases de la API de lectura de datos
  • Las bases de la API de escritura de datos
  • Lectura y escritura de archivos CSV
  • Lectura y escritura de archivos JSON
  • Lectura y escritura de bases de datos SQL
  • Lectura y escritura de archivos ORC
  • Lectura y escritura de archivos TXT
tema 8

Apache Spark SQL

  • Introducción a Spark SQL
  • Introducción a Apache Hive y relación con Spark
  • Introducción a Spark SQL CLI
  • Introducción a Interfaz programática de SQL de Spark
  • Operaciones SQL
  • Opciones de Entrada/Salida
  • Catálogo
  • Introducción de las tablas de Spark SQL
  • Creación de tablas
  • Creación de tablas externas
  • Inserción de datos en tablas
  • Metadatos de tablas
  • Borrado de tablas
  • Cacheado de tablas
  • Introducción a las vistas de Spark SQL
  • Creación de vistas
  • Borrado de vistas
  • Introducción a las bases de datos de Spark SQL
  • Creación de bases de datos
  • Configuración de bases de datos
  • Borrado de bases de datos
  • Selects con "case", "when" y "then"
  • Funciones
  • Tipos complejos
  • Subqueries
  • Configuraciones generales
  • Establecimiento de valores de configuración en SQL
tema 9

DataSets y Resilient Distributed DataSets (RDDs)

  • ¿Cuándo debemos usar Datasets?
  • Creación de DataSets
  • Acciones
  • Transformaciones, filtrado y mapeo
  • Joins de DataSets
  • Agrupaciones y agregaciones
  • Introducción a los RDD en Spark
  • Tipos de RDDs
  • ¿Cuándo es conveniente usar RDDs?
  • Ventajas de DataFrames vs RDD
  • Creación de un RDD
  • Interoperabilidad entre RDDs, DataSets y DataFrames
  • Creación de un RDD a partir de una colección local
  • Creación de un RDD de distintos orígenes
  • Manipulación de RDDs
  • Transformaciones
  • Acciones
  • Guardado en archivos de texto
  • Guardado en archivos Hadoop
  • Otros tipos de guardado
  • Cacheo de RDDs
  • Establecimiento de puntos de control
  • RDDs numérico
tema 10

RDD Clave-Valor

  • Introducción a los RDD Clave-Valor en Spark
  • Creación de RDD Clave-Valor
  • Introducción a las bases del uso de Clave-Valor
  • Filter
  • MapValue
  • Reduce By Key
  • Group By Key
  • Sort By Key
  • CoGrupos
  • Control de particionamiento de datos
  • Operaciones Join
  • Serialización personalizada
tema 11

GraphX y variables compartidas distribuidas

  • Operadores GraphX
  • Usos reales de GraphX
  • Configuración y puesta en Marcha
  • Algoritmos de GraphX
  • Pregel API
  • GraphX builders
  • VertexRDD
  • EdgeRDD
  • Transmisión de variables
  • Acumuladores
  • Acumuladores personalizados
tema 12

Ejecuciones de Spark en un Cluster

  • Modos de ejecución
  • Introducción al ciclo de vida de una aplicación Spark desde fuera
  • Fase de petición de cliente
  • Fases de iniciación y ejecución
  • Fase de terminación
  • Introducción al ciclo de vida de una aplicación Spark desde dentro de Spark
  • La sesión de Spark
  • Las instrucciones lógicas
  • La Job de Spark
  • Las fases
  • Tareas
  • Detalles de ejecución
tema 13

Despliegue de aplicaciones Spark

  • Estructura de los proyectos
  • Introducción al uso de SBT
  • ¿Dónde se pueden desplegar las aplicaciones de Spark?
  • Spark-Submit
  • On-premise Clusters vs Cloud
  • Empaquetado de aplicaciones
  • Introducción a los cluster managers
  • Modo Standalone
  • Spark con Yarn
  • Configuración de Spark con aplicaciones Yarn
  • Spark con Mesos
  • Configuraciones para desarrollo seguro
  • Configuraciones para redes de clusters
  • Estrategias de replicación
  • Recomendaciones
  • Creación de un cluster
  • Lanzamiento de trabajos
  • Monitorización de clusters
  • Particionamiento
  • Buenas prácticas
tema 14

Monitorización de aplicaciones Spark

  • Monitorización de Spark jobs
  • Interfaz Web de Spark
  • Jobs
  • Stages
  • Almacenamiento
  • SQL
  • Visualizando aplicaciones de Spark con Interfaces web
  • Los logs en las aplicaciones de Spark
  • log4j en Spark
tema 15

Mejoras del rendimiento de Spark, testing y debugging en Spark

  • Técnicas de optimización
  • Uso y gestión de la memoria
  • Almacenamiento de datos en caché de memoria
  • Sugerencias combinadas para consultas SQL
  • Ejecución de consultas adaptables
  • Entorno distribuido
  • Pruebas en un entorno distribuido
  • Problemas de un entorno distribuido
  • Testing en aplicaciones Spark
  • Tipos de test
  • Métodos de test en Spark
  • Debugging en aplicaciones Spark
tema 16

Introducción al Machine Learning con Spark

  • Introducción a MLlib
  • Fundamentos de MLlib
  • Estimadores
  • Entrenamiento y evaluación
  • Persistencia y aplicación de modelos
  • Creación de un sistema de MLlib
  • Regresión Lineal con MLlib
  • Árboles de decisión
  • Bosques aleatorios
  • Dataframes con MLlib
  • Métricas
tema 17

Performance Tuning

  • Serialización de objetos en RDD
  • Configuraciones de Clusters
  • Elección de diseño
  • Programación
  • "Shuffle" de configuraciones
  • Recolector de basura
  • Gestión de la memoria
  • Paralelismo
  • Mejoras en el filtrado
  • Repartición
  • Funciones definidas por el usuario
  • Cacheo de datos de forma temporal
  • Uniones
  • Agregaciones
  • Transmisión de variables
tema 18

Detección de problemas y buenas prácticas

  • Planes de ejecución
  • Detectando un Shuffle en un procesamiento
  • Probando operaciones que puedan causar un Shuffle
  • Cambiando el diseño de trabajos con dependencias amplias
  • Usando operaciones keyBy para reducir los Shuffle
  • Usando particionadores personalizados
  • Recomendaciones de programación paralela
  • Inmutabilidad
  • Uso de lambdas
  • Bucles
  • Uso de funciones dentro de Dataframes
tema 19

Proyecto Final

  • Definición del proyecto
  • Especificando el origen de los datos
  • Desarrollo de la solución con Spark
  • Build y despligue de la solución

Curso de Spark con Scala bonificado para Empresas a través de FUNDAE

Somos entidad organizadora de FUNDAE, todas nuestras formaciones se pueden bonificar hasta el 100%, sujeto a vuestro crédito disponible y a cumplir con todos los requisitos de realización establecidos por la Fundación Estatal para el Empleo.

 

Si desconoces el funcionamiento de las bonificaciones, ofrecemos el servicio de gestión en FUNDAE, consúltanos cualquier duda que te surja.

Descargar Guía FUNDAE
imagenFundae
iconClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClient