MÓDULO III: PARALELIZACIÓN DE DATOS – Framework Hadoop
Presentación
En este tema se presenta una de las tecnologías más importantes dentro del Big Data, que es Apache Hadoop. Este framework de programación paralela distribuida es el centro de un ecosistema que ha ido creciendo y dando lugar a una gran variedad de herramientas, algunas de las cuales han alcanzado una popularidad similar al propio Hadoop.
Más concretamente, se muestran conceptos teóricos y prácticos para el trabajo con Hadoop y con algunas de las herramientas más representativas de su ecosistema que cubren diferentes funcionalidades. Se prestará especial atención a los componentes fundamentales de Hadoop, que son MapReduce, HDFS (Hadoop Distributed File System), y YARN (Yet Another Resource Negotiator). Entre las herramientas del ecosistema de Hadoop más significativas que se verán en este tema se encuentran las siguientes:
- Ingesta de datos con Flume y Sqoop.
- Almacenamiento de datos con HBase.
- Procesamiento de datos con Pig y Hive.
- Serialización de datos con Avro y Parquet.
Contextualización
Nacida como una implementación open-source de desarrollos publicados por Google, el framework de programación paralela distribuida Apache Hadoop es el origen de un ecosistema compuesto de una gran variedad de herramientas que cubren numerosas funcionalidades, como son la ingesta de datos, su almacenamiento y/o procesamiento utilizando lenguajes de alto nivel, entre otras muchas opciones. En este tema se detalla la arquitectura y los principios de funcionamiento de algunas de las herramientas más significativas de este ecosistema. Gracias a los conocimientos teóricos y prácticos adquiridos en este tema, se podrá realizar la importación de datos masivos provenientes de diversas fuentes de datos de entre las que destacan las bases de datos relacionales o no relacionales, además de su almacenamiento y su procesamiento de forma paralela y distribuida.
Conocimientos previos recomendables
Para cursar adecuadamente este tema es recomendable tener los siguientes conocimientos previos:
- Familiaridad con el sistema operativo Linux.
- Familiaridad con tecnologías de virtualización de escritorio (VirtualBox).
- Conocimientos de programación (Python, SQL).
Resultados de aprendizaje
Los resultados más relevantes que se pretenden alcanzar con el estudio de este tema son los siguientes:
- Describir las características principales de HDFS.
- Definir qué es YARN y sus ventajas principales.
- Diferenciar entre las diversas herramientas de inyección de datos vistas en el tema.
- Aplicar los conocimientos de Sqoop para importar datos desde una base de datos relacional.
- Aplicar los conocimientos de Flume para importar datos a HDFS.
- Desarrollar programas MapReduce en Python utilizando la librería mrjob.
- Describir las características principales de HBase.
- Aplicar conocimientos de Hive para la creación de consultas sobre datos masivos.
- Aplicar conocimientos de Pig para desarrollar programas de manejo de datos masivos.
- Describir las características principales de Avro y Parquet como herramientas de serialización de datos.
Contenidos del tema
Los contenidos de este tema se organizan en los siguientes capítulos:
Capítulo 1: Introducción a Big Data.
- Volumen, velocidad, variedad, y valor.
- Áreas de trabajo dentro del Big Data.
- Áreas de aplicación.
Capítulo 2: Núcleo de Hadoop.
- ¿Qué es Hadoop?
- Hadoop Distributed File System (HDFS).
- YARN.
- MapReduce.
Capítulo 3 Procesamiento de datos utilizando lenguajes de alto nivel.
- Hive.
- Pig.
Capítulo 4: Serialización de datos.
- ¿Qué es la serialización de datos?
- Avro.
- Parquet.
Capítulo 5: Inyección de datos.
- Flume.
- Sqoop.
Capítulo 6: Almacenamiento de datos.
- HBase.
Bibliografía
Título: Designing Data-Intensive Applications
Autor: Martin Kleppmann
Editorial: O’Reilly Media, Inc.
Año: 2017
ISBN-13 en papel: 978-1-4493-7332-0
Titulo: Apache Hive Cookbook
Autores: Hanish Bansal; Saurabh Chauhan; Shrey Mehrotra
Editorial: Packt Publishing
Año: 2016.
ISBN-13 en papel: 978-1-78216-108-0
Título: Data Analytics with Hadoop
Autores: Benjamin Bengfort; Jenny Kim
Editorial: O’Reilly Media, Inc.
Año: 2016
ISBN-13 en papel: 978-1-4919-1370-3
Título: Hadoop Real-World Solutions Cookbook – Second Edition
Autor: Tanmay Deshpande
Editorial: Packt Publishing
Año: 2016
ISBN-13 en papel: 978-1-78439-550-6
ISBN-13 web: 978-1-78439-800-2
Título: Programming Pig
Autores: Alan Gates; Daniel Dai
Editorial: O’Reilly
Año: 2016
ISBN-13: 978-1-4919-3709-9
Título: Practical Hive: A Guide to Hadoop’s Data Warehouse System
Autores: Scott Shaw; Andreas François Vermeulen; Ankur Gupta; David Kjerrumgaard
Editorial: Apress
Año: 2016
ISBN-13: 978-1-4842-0272-2
Título: Practical Hadoop Ecosystem: A Definitive Guide to Hadoop-Related Frameworks and Tools
Autor: Deepak Vohra
Editorial: Apress
Año: 2016
ISBN-13 en papel: 978-1-4842-2198-3
Título: Apache HBase Primer
Autor: Deepak Vohra
Editorial: Apress
Año: 2016
ISBN-13 en papel: 978-1-4842-2423-6
Título: Hadoop Essentials
Autor: Shiva Achari
Editorial: Packt Publishing
Año: 2015
ISBN-13 en papel: 978-1-78439-668-8
ISBN-13 web: 978-1-78439-046-4
Título: Learning YARN
Autores: Akhil Arora; Shrey Mehrotra
Editorial: Packt Publishing
Año: 2015
ISBN-13 en papel: 978-1-78439-396-0
ISBN-13 Web: 978-1-78439-458-5
Título: Big Data for Chimps
Autores: Philip Kromer; Russell Jurney
Editorial: O’Reilly Media, Inc.
Año: 2015
ISBN-13 en papel: 978-1-4919-2394-8
Título: Learning Hadoop 2
Autores: Garry Turkington; Gabriele Modena
Editorial: Packt Publishing
Año: 2015
ISBN-13 web: 978-1-78328-552-5
ISBN-13 en papel: 978-1-78328-551-8
Título: Hadoop: The Definitive Guide, 4th Edition
Autor:Tom White
Editorial: O’Reilly Media, Inc.
Año: 2015
ISBN-13 en papel: 978-1-4919-0163-2
Título: MapReduce Design Patterns
Autores: Donald Miner; Adam Shook
Editorial: O’Reilly Media, Inc.
Año, 2012
ISBN-13 en papel: 978-1-4493-2717-0