Servicios de capacitación de habilidades de TI Big Data & Hadoop Training 2017
detalles del curso
Módulo – 1: Introducción a Big Data y Hadoop
• ¿Qué es Big Data? • – Definición de IBM • Limitaciones de los sistemas tradicionales a gran escala • Diversos casos de uso para Big Data • Desafíos de Big Data • Introducción a Hadoop – ¿Qué es Hadoop? ¿Por qué Hadoop? • ¿Hadoop es una moda pasajera o está aquí para quedarse? – Tendencias laborales de Hadoop • Historia e hitos de Hadoop • Componentes principales de Hadoop – MapReduce y HDFS • ¿Por qué HDFS? • Comparación de la base de datos SQL con Hadoop • Comprensión del panorama general – Hadoop Eco-Systems • Distribución comercial de Hadoop – Cloudera, Hortonworks, MapR, IBM BigInsight, Cloud Computing – Amazon Web Services, Microsoft Azure HDInsight • Sistemas operativos compatibles • Organizaciones que usan Hadoop • Manos a la obra con el sistema de archivos Linux • Documentación y recursos de Hadoop
Módulo – 2: Introducción a la configuración de Hadoop
• Modos de implementación: nodo único independiente, pseudodistribuido, multinodo • Configuración de máquina virtual pseudodistribuida de demostración en Windows • Virtual Box – Introducción • Instalar Virtual Box • Abrir una VM en Virtual Box • Descripción general de la configuración de Hadoop • Parámetros y valores de configuración • HDFS parámetros • Parámetros de MapReduce • Parámetros de YARN • Configuración del entorno de Hadoop • Variables de entorno • Servicios básicos de Hadoop – Estado del proceso del demonio utilizando JPS • Descripción general de la interfaz de usuario web de Hadoop • Marcadores de Firefox
Módulo – 3: Arquitectura Hadoop y HDFS
• Introducción al sistema de archivos distribuidos de Hadoop • Sistema de archivos normal v / s HDFS • Arquitectura HDFS • Componentes de HDFS – NameNode, DataNode, Secondary NameNode • Características de HDFS – Tolerancia a fallas, Escalado horizontal • Replicación de datos, Conocimiento de rack • Configuración de tamaño de bloque HDFS • HDFS2.0: alta disponibilidad, federación • Práctico con Hadoop HDFS, WebUI y comandos de terminal Linux • Operaciones del sistema de archivos HDFS • Metadatos de nodo de nombre, espacio de nombres del sistema de archivos, operación de nodo de nombre, • División de bloque de datos, Beneficios del enfoque de bloque de datos, HDFS – Arquitectura de replicación de bloques, colocación de bloques, método de replicación, topología de replicación de datos, topología de red, representación de replicación de datos • Anatomía de los datos de lectura y escritura en HDFS • Falla y recuperación en la operación de lectura / escritura • Fallos y recuperaciones de componentes de Hadoop • Conceptos básicos de programación de HDFS – API de Java • Introducción a la API de Java • API de configuración de Hadoop • Descripción general de la API HDFS • Acceso al programa HDFS tically
Módulo – 4: Marco MapReduce
• ¿Qué es MapReduce y por qué es popular? • Marco de MapReduce: introducción, controlador, mapeador, reductor, combinador, dividir, mezclar y ordenar • Ejemplo: Word Count the Hello World de MapReduce • Casos de uso de MapReduce • MapReduce Logical Data Flow – con tarea de reducción múltiple / simple • Se revisó el marco de MapReduce • Pasos para escribir un programa de MapReduce • Empaquetar trabajos de MapReduce en un JAR • MapReduce CLASSPATH • Diferentes formas de ejecutar el trabajo de MapReduce • Ejecutar en Eclipse – local v / s HDFS • Ejecutar trabajo de M / R usando HILO • Escritura y visualización de archivos de registro y UI web • Divisiones de entrada en MapReduce
Relación entre divisiones de entrada y bloques HDFS • Práctica con la programación de reducción de mapas
Módulo – 5: MapReduce Advanced
• Arquitectura de reducción de mapas • Responsabilidad de JobTracker, TaskTracker en MapReduce v1 clásico • Anatomía de la ejecución de trabajos de MapReduce en MRv1 clásico (JT, TT) • Hadoop 2.0, YARN, MRv2 • Limitaciones de Hadoop 1.0 • Limitaciones de MapReduce • Arquitectura YARN • Clásico vs YARN • Multitenencia de YARN • Herramientas de línea de comandos de MapReduce y YARN • Anatomía de la ejecución de trabajos de MapReduce MRv2 – YARN (RM, AM, NM) • Cómo se actualiza el estado en MRv1 y YARN • Ejecución especulativa • Localidad de datos • Reductor – Mezclar, ordenar y particionar • Cómo particionadores y reductores trabajan juntos • Determinar el número óptimo de reductores para un trabajo • Establecer recuentos de mapeadores y recuentos de reductores • Escribir particionadores de clientes • Estrategias para depurar el código de MapReduce • Contadores – Recuperar información del trabajo • Iniciar sesión en Hadooop • Pruebas de unidad de MapReduce con fraukework JUnit y MRUnit • Formato de E / S de MapReduce • Comprender los tipos de datos de claves y valores • Comprender la entrada / salida Formato, secuencia Entrada / salida formato • Creación de implementaciones personalizables de escritura y escritura comparables • Implementación de formatos de entrada y formatos de salida personalizados • Almacenamiento de datos binarios mediante archivos de datos SequenceFile y Avro • Unión de lado de mapa, unión de lado reducido, producto cartesiano • Creación de trabajos MapReduce de solo mapa Ejemplo: comando DistCp
Módulo – 6: Almacenamiento de datos – Cerdo
Lenguaje de flujo de datos de Pig – MapReduce usando Scripting • Desafíos del desarrollo de MapReduce usando Java • Necesidad de lenguajes de alto nivel – Pig • PIG vs MapReduce • ¿Qué es / no PIG, PigLatin, Grunt Shell • ¿Dónde / no usar Pig?
Instalación y configuración de Pig • Arquitectura: panorama general, componentes de Pig • Entornos de ejecución: local, maduduce • Diferentes formas de invocar a Pig: interactivo, por lotes • Pig Ejemplo: análisis de datos en Pig Latin • Inicio rápido e interoperabilidad • Modelo de datos • Expresión en Pig Latín • Tipos de datos de Pig, • Nulos en Pig Latín • Operación de Pig • Operadores relacionales centrales: cargar, almacenar, filtrar, transformar, unir, agrupar, cogrupo, unión, foreach, ordenar / ordenar, combinar / dividir, distinguir, filtrar, limitar , Describa, explique, ilustre • Grupo v / s CoGroup v / s Join • PIG Latin: cargadores de archivos y uso UDF incorporado (Python, Java) • PIG v / s SQL • Implementación y uso de Pig UDF
Módulo – 7: Almacenamiento de datos – Hive y HiveQL
• Limitaciones de MapReduce • Necesidad de lenguajes de alto nivel • OLAP analítico – Datawarehousing con Apache Hive y Apache Pig HiveQL – Interfaz similar a SQL para MapReduce • ¿Qué es Hive, Background, Hive QL • ¿Dónde usar Hive? ¿Por qué usar Hive cuando Pig está aquí? • Pig v / s Hive • Instalación de Hive, archivos de configuración • Componentes de Hive, arquitectura y Metastore • Metastore – configuración • Controlador, compilador de consultas, optimizador y motor de ejecución • Componentes de servidor y cliente de Hive • Tipos de datos de Hive • Modo de datos de Hive • Formatos de archivo • Ejemplo de Hive • DDL de Hive • CREAR, ALTERAR, BAJAR, TRUNCAR • Crear / Mostrar Base de Datos • Crear / Mostrar / Soltar Tablas • DML de Colmena • SELECCIONAR, INSERTAR, ESCRIBIR, EXPLICAR • Cargar Archivos e Insertar Datos en Tablas • Tablas Administradas v / s Tablas externas: carga de datos
Hive QL – Seleccionar, Filtrar, Unir, Agrupar por, Tener, Cubos-Hecho / Dimensión (Esquema en estrella) • Implementación y uso de Hive UDF, UDTF y SerDe • Tabla particionada – cargando datos • Tabla agrupada – cargando datos en vistas de tabla agrupada • Bucketing • Inserciones de varias tablas • Uniones • Práctico con Hive – CRUD – Obtener, poner, eliminar, escanear • Limitaciones de Hive • SQLv / s Hive
Módulo – 8: Bases de datos NoSQL – HBase
• Introducción a NoSQL • RDBMS (SQL) v / s HBase (NoSQL) • RDBMS – Beneficios, ACID, Demarits • Teorema de CAP y coherencia eventual • Almacenamiento orientado a filas v / s orientado a columnas • NoSQL: ColumnDB (HBase, Cassandra), documento ( MongoDB, CouchDB, MarkLogic), GraphDB (Neo4J), KeyValue (Memcached, Riak, Redis, DynamoDB) • ¿Qué es HBase? • Sinopsis de cómo se ejecuta la típica historia de escalado RDBMS • HBase viene como un rescate HBase – Base de datos Hadoop • Introducción, instalación, configuración de HBase • Descripción general de HBase: parte del ecosistema Hadoop • Problemas con el procesamiento por lotes como MR • HBase v / s HDFS • Batch vs Procesamiento de datos en tiempo real • Casos de uso para lectura / escritura de datos en tiempo real • Arquitectura de almacenamiento HBase • Ruta de escritura, ruta de lectura • Componentes de HBase – HMaster, HRegionServer • ZooKeeper • Replicación • Modelo de datos de HBase • Familias de columnas • Valor de columna y par de claves • Operación HBase – Memstore / HFile / WAL • Cliente HBase – Shell HBase • Operaciones CRUD • Crear mediante método Put • Leer mediante método Get • Actualizar mediante método Put
Eliminar mediante el método Eliminar • Crear tabla, propiedades de tabla, control de versiones, compresión • Carga masiva de HBase • Acceso a HBase utilizando Java Client v / s API de administración • Introducción a la API de Java • Ruta de lectura / escritura • Operaciones CRUD – Crear, leer, actualizar, eliminar • Caída • Escaneos • Caché de escaneo • Caché de lotes • Integración de MapReduce • Filtros • Contadores • Coprocesadores • Índice secundario • Compactación – mayor, menor • Divisiones • Filtros de floración • Caches • Apache Phoenix • ¿Cuándo usaría Apache HBase? • Empresas que usan HBase • ¿Cuándo / por qué usar HBase / Cassandra / MongoDB / Neo4J?
Módulo – 9: Importar / Exportar datos – Sqoop, Flume
• Configurar MySQL RDBMS Sqoop – Importar / Exportar datos estructurados a / desde HDFS desde / a RDBMS • Introducción a Sqoop • Instalación de Sqoop, Configuración • Por qué Sqoop • Beneficios de Sqoop • Procesamiento de Sqoop • Cómo funciona Sqoop • Arquitectura Sqoop • Importar datos – a HDFS, Hive, HBase • Exportación de datos – a MySQL • Conectores Sqoop • Comandos Sqoop Flume – Importar datos semiestructurados (por ejemplo, mensaje de registro) a HDFS • Por qué Flume • Flume – Introducción • Modelo de canal • Escalabilidad en canal
Cómo funciona Flume • Flujo complejo de Flume – Multiplexación • Práctico con Sqoop, Flume
Módulo – 10: flujos de trabajo con Oozie
Flujos de trabajo de MapReduce • Introducción de flujos de trabajo Oozie – Flujo de trabajo de MapReduce simple / complejo • Introducción a Oozie • Flujos de trabajo de Oozie • Servicio / Programador de Oozie • Casos de uso de Oozie
Módulo – 11: Administración de Hadoop
• Oracle VirtualBox para abrir una VM • Abrir una VM usando Oracle • Descripción general de la configuración del clúster Hadoop • Parámetros y valores de configuración • Parámetros HDFS • Parámetros de MapReduce • Configuración del entorno Hadoop • Archivos de configuración ‘Incluir’ y ‘Excluir’ • Site v / s Conf. Predeterminada archivos • Variables de entorno • Scripts • Instalación de múltiples nodos de Hadoop • Configuración de SSH sin contraseña • Archivos de configuración de Hadoop Cluster • hadoop default.xml • Modo seguro • DfsAdmin • Puertos de Hadoop • Cuotas de Hadoop • Seguridad – Kerberos • ZooKeeper • Qué es Zookeeper • Introducción a ZooKeeper • Desafíos enfrentados en aplicaciones distribuidas • Coordinación, arquitectura de ZooKeeper, • Hue, Administrador de Cloudera • Gestión del rendimiento del clúster Hadoop • Parámetros importantes de ajuste de Hadoop • Trabajos de evaluación comparativa del clúster Hadoop – Cómo ejecutar los trabajos
Contadores • Evaluación comparativa de HDFS • Depuración, solución de problemas • Referencia
Módulo – 12: Apache Spark
• Conceptos, instalación y arquitectura de Spark • Modos de Spark • Interfaz de usuario web de Spark • Shell de Spark • Operaciones / transformaciones de RDD • RDD de pares clave-valor • MapReduce en RDD • Envío del primer programa a Spark • Spark SQL
Proyecto Hadoop
32 horas de entrenamiento en el aula,
40 horas de práctica (asignación),
20 horas de proyecto.