Envíanos tu consulta
Términos y condiciones *
*Si no puedes asistir en directo te facilitaremos un enlace para verlo en diferido
logoImagina
Formación
Modalidades
Próximas Convocatorias
Temario
FAQ
Solicitar información
iconoCurso

Curso de Spark

DISPONIBLE EN MODALIDAD:
aMedidaIcon
Aula Virtual Personalizada
arrowRightDark

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 la base 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

Formación en Spark bonificable para empresas

A quién va dirigido nuestro curso de Spark

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

Objetivos de nuestro curso de Spark

  • Aprender a utilizar Scala y Python con el framework Spark 3x a través de Databricks y localmente
  • 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 nuestro curso de Spark

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 la base 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 de nuestro curso de Spark

  • Tener experiencia desarrollando con Scala o Python y haber realzado 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, Python 3 y Git instalados previamente para reproducir ejemplos localmente

Temario del curso de Spark

tema 1

Introducción

  • El problema del Big Data
  • ¿Qué es Spark?
  • Usos de Spark en el mundo real
  • Configurando nuestro IDE: IntelliJ IDEA
  • ¿Qué es Hadoop?
  • HDFS
  • Principales comandos de HDFS
  • Introducción a Yarn
  • Instalación de Hadoop
  • ¿Qué es HBase?
  • Instalación de Spark local
  • Arquitectura
  • Componentes
  • Ejecutando la consola interactiva de Spark
  • Ejercicio de iniciación
  • Recomendaciones
iconArrowDown
tema 2

Fundamentos 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
  • Ciclo de vida fuera de las aplicaciones
  • Peticiones
  • Lanzamiento
  • Ejecución
  • Finalización
  • Ciclo de vida dentro de las aplicaciones
  • Instrucciones lógicas
  • Job de Spark
  • Stages
  • Task
iconArrowDown
tema 3

Herramientas de Spark

  • Transmisión estructurada
  • Ejecución de aplicaciones en producción
  • Datasets
  • APIs de bajo nivel
  • Ecosistema y paquetes de Spark
  • SparkR (Solo con R)
iconArrowDown
tema 4

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
iconArrowDown
tema 5

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
iconArrowDown
tema 6

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
iconArrowDown
tema 7

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?
iconArrowDown
tema 8

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
iconArrowDown
tema 9

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
iconArrowDown
tema 10

DataSets

  • ¿Cuándo debemos usar Datasets?
  • Creación de DataSets
  • Acciones
  • Transformaciones, filtrado y mapeo
  • Joins de DataSets
  • Agrupaciones y agregaciones
iconArrowDown
tema 11

Resilient Distributed DataSets (RDDs)

  • 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
iconArrowDown
tema 12

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
iconArrowDown
tema 13

GraphX (Solo con Scala)

  • Operadores GraphX
  • Usos reales de GraphX
  • Configuración y puesta en Marcha
  • Algoritmos de GraphX
  • Pregel API
  • GraphX builders
  • VertexRDD
  • EdgeRDD
  • Buenas Prácticas
iconArrowDown
tema 14

Variables compartidas distribuidas

  • Transmisión de variables
  • Acumuladores
  • Acumuladores personalizados
iconArrowDown
tema 15

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
iconArrowDown
tema 16

Despliegue de aplicaciones Spark

  • Estructura de los proyectos
  • SBT (Solo con Scala)
  • ¿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
iconArrowDown
tema 17

Monitorización

  • 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
iconArrowDown
tema 18

Mejoras del rendimiento

  • 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
iconArrowDown
tema 19

Testing y debugging

  • 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
iconArrowDown
tema 20

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
iconArrowDown
tema 21

Detección de problemas

  • 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
iconArrowDown
tema 22

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
iconArrowDown
tema 23

Buenas prácticas y especificaciones de lenguajes

  • Recomendaciones de programación paralela
  • Inmutabilidad
  • Uso de lambdas
  • Bucles
  • Uso de funciones dentro de Dataframes
  • Especificaciones y diferencias de PySpark (Solo con Python)
  • Integración con Pandas (Solo con Python)
  • Especificaciones y diferencias de R con Spark
iconArrowDown

Preguntas Frecuentes de Spark

¿Cuáles son los beneficios del curso Spark?

accordionIcon
El curso de Spark proporciona una formación integral en procesamiento de grandes volúmenes de datos, permitiendo a los empleados de tu empresa optimizar procesos y mejorar la eficiencia en la gestión de datos. Los beneficios incluyen un conocimiento profundo en el uso de Apache Spark, una herramienta clave en Big Data, así como habilidades prácticas para implementar soluciones de datos robustas y escalables.

¿El curso de Spark se puede bonificar a través de FUNDAE?

accordionIcon
Sí, el curso de Spark se puede bonificar a través de la Fundación Estatal para la Formación en el Empleo (FUNDAE). Esto permite que las empresas recuperen parte del coste del curso mediante los créditos de formación continua disponibles.

¿En qué modalidades se imparte el curso de Spark?

accordionIcon
El curso de Spark se imparte en dos modalidades: modalidad online y aula virtual personalizada. Esto proporciona flexibilidad para que las empresas puedan elegir la opción que mejor se adapte a las necesidades y disponibilidad de sus empleados.

¿Qué habilidades desarrollaré con el curso de Spark?

accordionIcon
Con el curso de Spark, desarrollarás habilidades clave en el procesamiento de datos a gran escala utilizando Apache Spark. Entre las habilidades adquiridas se incluyen la capacidad de manejar grandes volúmenes de datos, realizar análisis complejos, desarrollar algoritmos de Machine Learning y optimizar el rendimiento de los datos en tiempo real.

¿Cómo puedo inscribirme en el curso de Spark?

accordionIcon
Para inscribirte en el curso de Spark, debes rellenar los formularios que aparecen en la página web de Imagina Formación. Una vez completado el formulario, nuestro equipo se pondrá en contacto contigo para finalizar el proceso de inscripción.