IFCT165PO BIG DATA PARA INGENIERÍAS
Curso gratis para: Trabajadores y Empresas, consulta próxima convocatoria
Modalidad de realización del curso: A distancia y Online
Número de Horas: 80 Horas
Titulación: Diploma acreditativo con las horas del curso
OBJETIVOS
Este CURSO IFCT165PO BIG DATA PARA INGENIERÍAS le ofrece una formación especializada en la materia dentro de la Familia Profesional de Informática y comunicaciones. Con este CURSO IFCT165PO BIG DATA PARA INGENIERÍAS el alumno será capaz de desenvolverse dentro del Sector y conocer las tecnologías disponibles para realizar estrategias de Big Data para Ingenierías, realizar un desarrollo con Spark y Hadoop y analizar datos con Pig Hive e Impala.
CONTENIDO
UNIDAD DIDÁCTICA 1. INTRODUCCIÓN
- ¿Qué es Big Data?
- Paradigmas de procesamiento en Big Data
- Las 8 V de Big Data (Volumen, Volatilidad, Variedad, Valor, Velocidad, Variabilidad, Veracidad, Validez)
UNIDAD DIDÁCTICA 2. BATCH PROCESSING
- MapReduce
- - Entorno MapReduce
- - Función Map y función Reduce
- - Flujo de datos
- - Características de MapReduce
- - Uso de MarpReduce
- - Ventajas e inconvenientes de Map Reduce
- - Ejercicios y ejemplos con MapReduce
- Hadoop
- - Entorno Hadoop
- - Almacenamiento: HDFS
- - Características de HDFS
- Apache Hadoop YARN
- - Funciones de Framework computacionales
- - YARN: El gestor de recursos del cluster
- - Conceptos de Apache Spark
- - Ejecución de Computational Frameworks en YARN
- - Exploración de las aplicaciones de YARN Applications a través de la Web UIs y de Shell
- Agregación de los logs de YARN
- - Configuración de Hadoop y registros de Daemon
- - Localizar configuraciones y aplicar cambios de configuración
- - Gestión de instancias de Role y añadir servicios
- - Configuración del servicio HDFS
- - Configuración de los logs de Hadoop Daemon
- - Configuración del servicio YARN
- Obtención de datos en HDFS
- - Ingestión de datos desde fuentes de recursos externos con Flume
- - Ingestión de datos desde bases de datos relacionales con Sqoop
- - REST Interfaces
- - Buenas prácticas para la importación de datos
- Planificación de un cluster Hadoop
- - Consideraciones generales de planificación
- - Elección correcta de Hardware
- - Opciones de Virtualización
- - Consideraciones de red
- - Configuración de nodos
- Instalación y configuración de Hive, Pig e Impala
- Clientes Hadoop incluidos en Hue
- - ¿Qué es un cliente de Hadoop?
- - Instalación y configuración de clientes Hadoop
- - Instalación y configuración de Hue
- - Autorizaciones y autenticación Hue
- Configuración avanzada de un cluster
- - Parámetros avanzados de configuración
- - Configuración de puertos Hadoop
- - Configuración de HDFS para la organización en rack
- - Configuración de HDFS para obtención de alta disponibilidad
- Seguridad Hadoop
- - ¿Por qué es importante la seguridad en Hadoop?
- - Conceptos del sistema de seguridad de Hadoop
- - Qué es Kerberos y cómo funciona
- - Securización de un clúster Hadoop Cluster con Kerberos
- - Otros conceptos de seguridad
- Gestión de recursos
- - Configuración de cgroups con Static Service Pools
- - El Fair Scheduler
- - Configuración de Dynamic Resource Pools
- - Configuraciones de CPU y memoria YARN
- - Impala Query Scheduling
- Mantenimiento de un cluster
- - Chequeo del estado de HDFS
- - Copia de datos entre clústers
- - Añadir y eliminar de nodos en el clúster
- - Rebalanceo del Cluster
- - Directorio de Snapshots
- - Actualización del clúster
- Solución de problemas y monitorización de un cluster
- - Sistema general de monitorización
- - Monitorización de clústers Hadoop
- - Solución de problemas habituales en el clúster de Hadoop
- - Errores habituales en la configuración
UNIDAD DIDÁCTICA 3. CIENCIA DE DATOS
- Data Science
- - Que hacen los data scientists, herramientas y procesos que utilizan
- - Aplicación de lo aprendido en módulo 2: Uso de Hue
- Apache Spark
- - Cómo trabaja Apache Spark y que capacidades nos ofrece
- - Que formatos de ficheros populares puede usar Spark para almacenar datos
- - Que lenguajes de programación puedes utilizar para trabajar con Spark
- - Cómo empezar a utilizar PySpark y Sparklyr
- - Cómo comparar PySpark y Sparklyr
- Machine Learning
- - ¿Qué es machine learning?
- - Algunos conceptos y términos importantes
- - Diferentes tipos de algoritmos
- - Librerías que se utilizan
- Apache Spark MLlib
- - Que capacidades de machine learning nos proporciona MLlib
- - Cómo crear, validar y utilizar modelos de machine learning con MLlib
- - Ejecución de trabajos Apache Spark
- - Cómo un trabajo de Spark se compone de una secuencia de transformaciones seguida de una acción
- - Cómo Spark utiliza la ejecución lenta
- - Cómo Spark divide los datos entre las particiones
- - Cómo ejecuta Spark operaciones limitadas y grandes
- - Cómo Spark ejecuta un trabajo en tareas y fases
UNIDAD DIDÁCTICA 4. DESARROLLO PARA SPARK Y HADOOP
- Datasets y Dataframes
- Operaciones en Dataframe
- Trabajar con Dataframes y Schemas
- Crear Dataframes a partir de Data Sources
- Guardar DataFrames en Data Sources
- DataFrame Schemas
- Rapidez y lentitud de ejecución
- Análisis de datos con consultas de DataFrame
- - Consultar DataFrames con el empleo de expresiones de columna
- - Agrupación y agregación de consultas
- - Unión de DataFrames
- RDD
- - Introducción RDD
- - RDD Data Sources
- - Creando y guardando RDDs
- - Operaciones con RDDs
- Transformación de datos con RDDs
- - Escritura y paso de funciones de transformación
- - Ejecuciones de transformación
- - Conversión entre RDDs y DataFrames
- Agregación de datos con Pair RDDs
- - Key-Valué Pair RDDs
- - Mal-Reduce
- - Otras operaciones Pair RDD
- Consulta y vistas de tablas con Spark SQL
- - Datasets y DataFrames
- - Creación de Datasets
- - Ejecución y guardado de Datasets
- - Operaciones de Dataset
- Creación, configuración y ejecución de aplicaciones Spark
- - Creación de una aplicación Spark
- - Compilar y ejecutar la aplicación
- - Application Deployment Mode
- - La interfaz Spark Application Web UI
- - Configuración de las propiedades de la aplicación
- Procesamiento distribuido
- - Apache Spark en un Clúster
- - Particiones RDD
- - Ejemplo: Particionamiento en consultas
- - Etapas y Tareas
- - Planificación de tareas de ejecución
- Persistencia de datos distribuidos
- - Persistencia en Datasets y DataFrames
- - Persistencia en niveles de almacenamiento
- - Visualización de RDDs persistentes
- Patrones comunes al procesar datos con Spark
- - Casos comunes de uso de Spark
- - Algoritmos de iteración en Apache Spark
- - Machine Learning
- Spark Streaming: Introducción a DStreams
- - Vista general de Spark Streaming
- - DStreams
- - Desarrollo de aplicaciones en Streaming
- Spark Streaming: procesamiento de múltiples lotes
- - Operaciones Multi-Batch
- - Time Slicing
- - Operaciones de estado
- - Operaciones Sliding Window
- - Vista previa: Streaming estructurado
- Apache Spark Streaming: Data Sources
- - Vista general de Streaming Data Source
- - Apache Flume y Apache Kafka Data Sources
- - Ejemplo: uso de un Kafka Direct Data Source
UNIDAD DIDÁCTICA 5. ANÁLISIS DE DATOS
- Introducción a Pig
- - ¿Qué es Pig?
- - Características de Pig
- - Casos de empleo de Pig
- - Interacción con Pig
- Análisis de datos básico con Pig
- - Sintaxis Pig Latin
- - Carga de datos
- - Tipos simples de datos
- - Definición de campos
- - Datos de salida
- - Vistas y esquemas
- - Filtrado y ordenación de datos
- - Funciones habituales
- Procesado de datos complejos con Pig
- - Formatos de almacenamiento
- - Tipos de datos complejos y anidados
- - Agrupaciones
- - Funciones predefinidas para datos complejos
- - Iteración de datos agrupados
- Operaciones con multiconjuntos de datos con Pig
- - Técnicas para combinar conjuntos de datos
- - Unión de conjuntos de datos con Pig
- - Conjunto de operaciones
- - División de conjuntos de datos
- Troubleshooting y optimización de Pig
- - Troubleshooting en Pig
- - Inicio de sesión
- - Empleo de UI web Hadoop
- - Muestreo de datos y depuración
- - Visión general del rendimiento
- - Comprensión del plan de ejecución
- - Consejos para mejorar el rendimiento de Jobs en Pig
- Introducción a Hive e Impala
- - ¿Qué es Hive?
- - ¿Qué es Impala?
- - ¿Por qué utilizar Hive e Impala?
- - Schema y almacenamiento de datos
- - Comparación entre Hive y bases de datos tradicionales
- - Casos de uso
- Consultas con Hive e Impala
- - Tablas y bases de datos
- - Sintaxis básica en consultas Hive e Impala
- - Tipos de datos
- - Empleo de Hue para ejecutar consultas
- - Empleo de Beeline (la Shell de Hive)
- - Empleo de la Shell de Impala
- Administración de datos
- - Almacenamiento de datos
- - Creación de bases de datos y tablas
- - Carga de datos
- - Alteración de bases de datos y tablas
- - Simplificación de consultas con vistas
- - Almacenamiento de resultados de consultas
- Almacenamiento y datos de rendimiento
- - Partición de tablas
- - Carga de datos en tablas particionadas
- - Cuándo utilizar el particionamiento
- - Elección de formato de almacenamiento
- - Gestión de metadatos
- - Control de acceso a datos
- Análisis de datos relacional con Hive e Impala
- - Unión de conjuntos de datos
- - Funciones predefinidas habituales
- - Agregaciones y Windowing
- Datos complejos con Hive e Impala
- - Datos complejos con Hive
- - Datos complejos con Impala
- Análisis de texto con Hive e Impala
- - Empleo de expresiones regulares
- - Procesamiento de texto con SerDes en Hive
- - Análisis de los sentimientos y N•Grams
- Optimización Hive
- - Rendimiento de las consultas
- - Bucketing
- - Indexación de datos
- - Hive en Spark
- Optimización de Impala
- - Ejecución de consultas
- - Mejorar el rendimiento de Impala
- Extendiendo Hive e Impala
- - Customizar SerDes y formatos de fichero en Hive
- - Transformación de datos con Scripts personalizados en Hive
- - Funciones definidas por el usuario
- - Consultas parametrizadas
- - Comparación entre MapReduce, Pig, Hive, Impala, y bases de datos relacionales. ¿Cuál elegir?
MATERIAL INCLUIDO EN LA MODALIDAD A DISTANCIA
- Manual teórico: Big Data para Ingenierías
- Cuaderno de ejercicios: Big Data para Ingenierías