Hadoop: tecnologias relacionadas

  • 557 views
Uploaded on

Tecnologías del ecosistema Hadoop: Pig, Hive. Oozie, HBase

Tecnologías del ecosistema Hadoop: Pig, Hive. Oozie, HBase

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
557
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
36
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Hadoop: tecnologías relacionadas Tomás Fernández Pena Máster en Computación de Altas Prestaciones Universidade de Santiago de Compostela Computación en Sistemas Distribuidos Material bajo licencia Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) citius.usc.es
  • 2. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Índice 1 Tecnologías relacionadas 2 Pig 3 Hive 4 Apache Oozie 5 Introducción a HBase Hadoop: tecnologías relacionadas, CSD
  • 3. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Índice 1 Tecnologías relacionadas 2 Pig 3 Hive 4 Apache Oozie 5 Introducción a HBase Hadoop: tecnologías relacionadas, CSD
  • 4. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Tecnologías relacionadas (I) Diversas tecnologías relacionadas: Pig: lenguaje data-flow de alto nivel para facilitar la programación MapReduce Hive: infraestructura de data-warehouse construida sobre Hadoop Spark: motor de procesamiento de datos de caracter general compatible con datos Hadoop Oozie, Cascading, Azkaban, Hamake: planificadores de workflows para gestionar trabajos Hadoop Tez: ejecución de DAGs de tareas complejos para queries interactivas S4, Storm: procesamiento de flujos de datos (stream processing) Impala: queries en tiempo real para Hadoop Hadoop: tecnologías relacionadas, CSD 1/36
  • 5. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Tecnologías relacionadas (II) HBase: base de datos distribuida no-relacional (NoSQL) que corre sobre HDFS (inspirado en Google BigTable) Sqoop: transferencia eficiente de datos eficiente entre Hadoop y bases de datos relacionales Whirr: herramientas para iniciar clusters Hadoop y otros servicios en diferentes proveedores cloud Ambari: herramienta basada en web para aprovisionar, gestionar y monitorizar clusters Hadoop Hue: interfaz web para simplificar el uso de Hadoop ZooKeeper: servicio centralizado de configuración, nombrado, sincronización distribuida y servicios de grupos para grandes sistemas distribuidos Hadoop: tecnologías relacionadas, CSD 2/36
  • 6. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Tecnologías relacionadas (III) HCatalog: interfaces para permitir el acceso al Hive metastore desde diversas herramientas WebHCat: API REST-like para HCatalog (antes Templeton) Falcon: solución para el procesamiento y gestión de datos para Hadoop (movimiento. coordinación, gestión del ciclo de vida, descubrimiento). Slider: aplicación para desplegar aplicaciones distribuidas existentes en YARN (aplicaciones long-running) Hama: framework de computación Bulk Synchronous Parallel sobre HDFS Flume: obtención, agregación y movimiento de grandes ficheros de log a HDFS Hadoop: tecnologías relacionadas, CSD 3/36
  • 7. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Tecnologías relacionadas (IV) BigTop: empaquetamiento y tests para el ecosistema Hadoop Knox: REST API Gateway para interactuar con clusters Hadoop incorporando seguridad (autenticación/autorización/auditoría) Twister: aplicaciones MapReduce iterativas Mahout: algoritmos escalables de machine learning y minería de datos sobre Hadoop Chukwa: sistema de recogida de datos para monitorizar grandes sistemas distribuidos Flink: procesamiento in-memory y de streams (similar a Spark) Pydoop: Python API para Hadoop Perldoop: Traducción de códigos MR en Perl a Java Hadoop: tecnologías relacionadas, CSD 4/36
  • 8. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Índice 1 Tecnologías relacionadas 2 Pig 3 Hive 4 Apache Oozie 5 Introducción a HBase Hadoop: tecnologías relacionadas, CSD
  • 9. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Pig Iniciado en Yahoo! Research Eleva el nivel de abstracción para procesar grandes conjuntos de datos Facilita centrarse en el “qué” en vez de en el “cómo” Expresa secuencias de trabajos MapReduce Modelo de datos: “bags” anidadas de items “Pig bag”: colección de tuplas Proporciona operadores relacionales (JOIN, GROUP BY, etc.) Fácil definir y usar funciones definidas por el usuario (UDFs) escritas en Java Hadoop: tecnologías relacionadas, CSD 5/36
  • 10. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Pig Dos elementos principales: Un lenguaje propio: Pig Latin Un entorno de ejecución: local o Hadoop Programas ejecutados como: Scripts en Pig Latin Grunt: shell interactivo para ejecutar comandos Pig Comandos Pig ejecutados desde Java PigPen: entorno de desarrollo para Eclipse Hadoop: tecnologías relacionadas, CSD 6/36
  • 11. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase WordCount en Pig -- Ejecutar como: pig -p INPUT=directorio_entrada -p OUTPUT=directorio_salida fichero.pig input_lines = LOAD ’$INPUT’ AS (line:chararray); -- Extrae las palabras de cada linea y las pone en una "pig bag" -- y aplana la bag para obtener las palabras words = FOREACH input_lines GENERATE FLATTEN(TOKENIZE(line)) AS word; -- filtra las palabras que sean solo espacios fwords = FILTER words BY word MATCHES ’w+’; -- crea un grupo para cada palabra wgroups = GROUP fwords BY word; -- cuenta las entradas en cada grupo wcount = FOREACH wgroups GENERATE COUNT(fwords) AS count, group AS word; -- orden descendente ordered_wcount = ORDER wcount BY count DESC; STORE ordered_wcount INTO ’$OUTPUT’; Fuente: http://en.wikipedia.org/wiki/Pig_(programming_language) NOTA: Si probáis este ejemplo en local, ejecutadlo con pig -x local Hadoop: tecnologías relacionadas, CSD 7/36
  • 12. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Otro ejemplo en Pig Fichero con datos de usuarios Fichero con lista de páginas visitadas por los usuarios Buscamos: 5 páginas más visitadas por usuarios con edades entre 18 y 25 años Carga usuarios Filtra por edad Carga páginas Une por nombre Agrupa por URL Cuenta clicks Ordena por clicks Toma los 5 primeros Fuente http://wiki.apache.org/pig-data/attachments/PigTalksPapers/attachments/ApacheConEurope09.ppt Hadoop: tecnologías relacionadas, CSD 8/36
  • 13. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase En Pig Latin Users = load ’users’ as (name, age); Filtered = filter Users by age >= 18 and age <= 25; Pages = load ’pages’ as (user, url); Joined = join Filtered by name, Pages by user; Grouped = group Joined by url; Summed = foreach Grouped generate group, count(Joined) as clicks; Sorted = order Summed by clicks desc; Top5 = limit Sorted 5; store Top5 into ’top5sites’; Hadoop: tecnologías relacionadas, CSD 9/36
  • 14. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Traslación directa Los componentes del trabajo se trasladan de forma natural Carga usuarios Filtra por edad Carga páginas Une por nombre Agrupa por URL Cuenta clicks Ordena por clicks Toma los 5 primeros Users = load ... Filtered = filter … Pages = load … Joined = join … Grouped = group … Summed = … count()… Sorted = order … Top5 = limit … Hadoop: tecnologías relacionadas, CSD 10/36
  • 15. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Traslación directa Los componentes del trabajo se trasladan de forma natural Carga usuarios Filtra por edad Carga páginas Une por nombre Agrupa por URL Cuenta clicks Ordena por clicks Toma los 5 primeros Users = load ... Filtered = filter … Pages = load … Joined = join … Grouped = group … Summed = … count()… Sorted = order … Top5 = limit … Job 1 Job 2 Job 3 Hadoop: tecnologías relacionadas, CSD 10/36
  • 16. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Número de reducers en Pig Por defecto, el script Pig se ejecuta con 1 reducer El número de reducers se puede indicar para todo el script mediante una variable SET default_parallel n_reducers; o bien, indicarlo en las operaciones que implican un Reduce (group, join, cogroup, order,...), por ejemplo: STORE .... INTO ’$output’ parallel n_reducers; Hadoop: tecnologías relacionadas, CSD 11/36
  • 17. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Instalación de Pig La instalación de Pig es muy simple 1. Descargar el fichero pig-versión.tar.gz de pig.apache.org/releases.html en el front-end 2. Destareadlo en nuestro $HOME 3. Definir variables de entorno: export PIG_INSTALL=$HOME/pig-versión export PATH=$PATH:$PIG_INSTALL/bin Ejecución: pig o pig -x mapreduce: ejecución en Hadoop (usa la configuración de Hadoop del sistema) pig -x local: ejecución en local Hadoop: tecnologías relacionadas, CSD 12/36
  • 18. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Instalación de Pig La instalación de Pig es muy simple 1. Descargar el fichero pig-versión.tar.gz de pig.apache.org/releases.html en el front-end 2. Destareadlo en nuestro $HOME 3. Definir variables de entorno: export PIG_INSTALL=$HOME/pig-versión export PATH=$PATH:$PIG_INSTALL/bin Ejecución: pig o pig -x mapreduce: ejecución en Hadoop (usa la configuración de Hadoop del sistema) pig -x local: ejecución en local Hadoop: tecnologías relacionadas, CSD 12/36
  • 19. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Índice 1 Tecnologías relacionadas 2 Pig 3 Hive 4 Apache Oozie 5 Introducción a HBase Hadoop: tecnologías relacionadas, CSD
  • 20. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Hive Desarrollado en Facebook “Base de datos relacional” sobre Hadoop Soporta el análisis de grandes datasets en filesystems compatibles con Hadoop (HDFS, S3, ...) HiveQL: dialecto de SQL Peticiones HiveQL se convierten en un grafo dirigido acíclico de trabajos MapReduce Organiza los datos del filesystem en tablas Listas de metadatos (p.e. esquemas de tablas) almacenados en una base de datos (por defecto, Apache Derby) Soporta particionado de tablas, clustering, tipos de datos complejos, etc. Puede llamar a scripts de Hadoop Streaming desde HiveQL Hadoop: tecnologías relacionadas, CSD 13/36
  • 21. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Hive Metastore Repositorio central de los metadatos de Hive. Dos partes: Un servicio Un almacenamiento Tres modos de configuración Embedded metastore (por defecto) Local metastore Remote metastore Hadoop: tecnologías relacionadas, CSD 14/36
  • 22. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Hive Metastore Embedded metastore Local metastore Hadoop: tecnologías relacionadas, CSD 15/36
  • 23. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Hive Metastore Remote metastore Hadoop: tecnologías relacionadas, CSD 16/36
  • 24. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Tablas Hive Combinación lógica de datos y metadatos Los datos residen en HDFS o en otro Hadoop FileSystem, los metadatos en una base de datos relacional (Metastore) Managed tables: los datos se sitúan en el directorio warehouse, bajo control de Hive External tables: los datos se mantienen fuera del directorio warehouse (facilita su compartición con otras aplicaciones) Hadoop: tecnologías relacionadas, CSD 17/36
  • 25. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Particiones y buckets Particiones Las tablas se pueden organizan en particiones, basadas en el valor de columnas de partición Las tablas se pueden particionar en múltiples dimensiones Las particiones se definen al crear la tabla (clausula PARTITIONED BY) Buckets o clusters Otro mecanismo para segmentar los datos y optimizar las queries Se usa un número fijo de buckets y una función hash para distribuir los valores entre los buckets Hadoop: tecnologías relacionadas, CSD 18/36
  • 26. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Ejemplo de particiones y buckets CREATE TABLE order ( username STRING, orderdate STRING, amount DOUBLE, ) PARTITIONED BY ( country STRING) CLUSTERED BY (username) INTO 25 BUCKETS; Se crea una partición por país Se crean 25 buckets Los datos de un usuario siempre al mismo bucket Un bucket puede tener datos de múltiples usuarios Se usa una función hash para determinar el bucket al que va cada usuario Hadoop: tecnologías relacionadas, CSD 19/36
  • 27. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Ejemplo Hive Encontrar las 5 páginas más visitadas por usuarios entre 18-25 años SELECT p. url , COUNT(1) as clicks FROM users u JOIN page_views p ON (u.name = p. user) WHERE u.age >= 18 AND u.age <= 25 GROUP BY p. url ORDER BY clicks LIMIT 5; Filtra la vista de páginas usando un script Python SELECT TRANSFORM(p. user , p. date) USING ’map_script .py ’ AS dt , uid CLUSTER BY dt FROM page_views p; Hadoop: tecnologías relacionadas, CSD 20/36
  • 28. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Instalación de Hive La instalación de Hive es sencilla 1. Descargar el fichero hive-0.11.0.tar.gz de http://hive.apache.org/releases.html 2. Destareadlo en nuestro $HOME 3. Definir variables de entorno: export HIVE_HOME=$HOME/hive-0.11.0 export PATH=$PATH:$HIVE_HOME/bin Conectarse al NameNode, y como usuario hadoop crear el siguiente directorio hadoop fs -mkdir /user/hive/warehouse Dadle permisos para que todos los usuarios puedan usar hive hadoop fs -chmod 777 /user/hive/warehouse Para ejecutarlo, simplemente comando hive Hadoop: tecnologías relacionadas, CSD 21/36
  • 29. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Ejecución Hive Igual que Pig, Hive tiene un shell para ejecución interactiva En el prompt de hive se pueden ir ir ejecutando una a una las instrucciones Hive También se pueden ejecutar scripts Con hive -f script.hive ejecutaríamos el script completo Además, con hive -e 'comando_hive' se puede ejecutar una orden simple Hadoop: tecnologías relacionadas, CSD 22/36
  • 30. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Ejecución Hive Algunas características Usando embedded metastore (por defecto), la metainformación se guarda en el directorio local Alternativa: usar metastore local o remota, con una base de datos como MySQL Al cargar (LOAD) los datos en una tabla desde un fichero, se mueve el fichero al directorio de Hive en HDFS (/user/hive/warehouse) Es una simple operación de ficheros Los ficheros no se parsean ni se modifican Si no se quiere mover los ficheros (p.e. para seguir usando Hadoop o Pig) hay que crear la tabla EXTERNAL Alternativa: usar HCatalog - Permite que Hadoop o Pig usen la metastore de Hive Hadoop: tecnologías relacionadas, CSD 23/36
  • 31. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Índice 1 Tecnologías relacionadas 2 Pig 3 Hive 4 Apache Oozie 5 Introducción a HBase Hadoop: tecnologías relacionadas, CSD
  • 32. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Apache Oozie Ejecución de workflows de trabajos dependientes Workflows compuestos de diferentes tipos de trabajos Hadoop (MapReduce, Pig, Hive, etc.) Permite la ejecución en un cluster de miles de workflows compuestos por decenas de trabajos y simplifica la re-ejecución de workflows fallidos Dos partes Workflow engine almacena y ejecuta workflows compuestos de diferentes tipos de trabajos Hadoop (MP, Pig, Hive,. . . ) Coordinator Engine ejecuta los workflows basándose en planificadores definidos y disponibilidad de datos Hadoop: tecnologías relacionadas, CSD 24/36
  • 33. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Oozie Workflow Definición del workflow escrita en XML usando HPDL (Hadoop Process Definition Language) Un workflow es un DAG compuesto por nodos de dos tipos: Action nodes realiza una tarea en el workflow (pe. trabajo MR, o movimiento de ficheros en HDFS) Control-flow nodes gobierna la ejecución del workflow entre acciones Más información oozie.apache.org/docs/ Hadoop: tecnologías relacionadas, CSD 25/36
  • 34. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Índice 1 Tecnologías relacionadas 2 Pig 3 Hive 4 Apache Oozie 5 Introducción a HBase Hadoop: tecnologías relacionadas, CSD
  • 35. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Introducción a HBase Base de datos no-relacional (NoSQL), distribuida, orientada a columnas, diseñada a partir de Google BigTable Podemos considerarlo como un map ordenado, disperso, consistente, distribuido, multidimensional Filas consistentes en pares clave -> valor La clave es multidimensional: (rowkey,column family,column,timestamp) -> value Capaz de almacenar teras o petabytes de datos con escalabilidad lineal (horizontal) Diseñado para trabajar con HDFS Particionado automático de las tablas Incorpora sistemas de recuperación de fallos Operaciones atómicas a nivel de filas Hadoop: tecnologías relacionadas, CSD 26/36
  • 36. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Conceptos HBase (I) Tablas Los datos se organizan en tablas Los nombres de las tablas son Strings Filas Dentro de una tabla, los datos se organizan en filas Unívocamente identificadas por su rowkey Rowkeys no tienen un tipo específico (se tratan como byte[]) Column Family Los datos en cada fila se agrupan en familias de columnas - Cada fila tiene las mismas familias, pero no todas tienen que tener datos Las Column families determinan como se organizan los datos físicamente - Es necesario definirlas cuando se crea la tabla El nombre de la familia es un String Hadoop: tecnologías relacionadas, CSD 27/36
  • 37. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Conceptos HBase (II) Column qualifier o Columna Los datos en una Column family se organizan en columnas Distintas filas pueden tener distintas columnas No hay que definirlas cuando se crea la tabla No tienen un tipo específico (se tratan como byte[]) Celda La combinación (rowkey, cf, column) identifican de forma única una celda En la celda se almacena un valor El valor no tiene un tipo de datos (se trata como byte[]) Versión Los valores en una celda tienen asociada una versión Las versiones se identifican mediante un timestamp (de tipo long) Por defecto, se guardan 3 versiones de un valor Hadoop: tecnologías relacionadas, CSD 28/36
  • 38. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Ejemplo de tabla nombre edad email Juan Pérez @ts 43 @ts juan@j.org @ts info ventas juan pepe ciudad password Zaragoza @ts Santiago @ts jperez@p.com @ts 12345678 @ts qwerty @ts producto precio Blue-ray @ts 300 € @ts Tabla clientes rowkeys column family column Hadoop: tecnologías relacionadas, CSD 29/36
  • 39. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Modelo clave-valor [juan, info, edad, 13243566] −→ 43 [juan, info, email, 13243598] −→ juan@j.org [juan, info, email, 13243580] −→ jperez@p.com [juan, info, nombre, 13243543] −→ Juan Pérez [juan, ventas, producto, 1324677] −→ Blue-ray [juan, ventas, precio, 13243665] −→ 300 Hadoop: tecnologías relacionadas, CSD 30/36
  • 40. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Modelo mapa ordenado de mapas { "juan" : { "info" : { "edad" : { 13243543 : "43" }, "email" : { 13243598 : "juan@j.org" 13243580 : "jperez@p.com" }, "nombre" : { 13243543 : "Juan Pérez" }, }, "ventas" : { ....... }, } Hadoop: tecnologías relacionadas, CSD 31/36
  • 41. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Conceptos HBase (III) Regiones Las tablas se dividen por filas Cada división de denomina Region Region Server Las regiones se distribuyen a servidores, denominados Region servers El HBase Master distribuye las regiones entre los Region servers - Un Region server puede almacenar múltiples regiones - Habitualmente, los Region servers se colocan en los Datanodes - Usa Apache ZooKeeper para localizar las regiones ZooKeeper servicio centralizado para mantener información de configuración, nombrado, proporcionando sincronización distribuida y servicios de grupos En HBase mantiene información sobre quién es el máster, las regiones participantes y donde está la tabla ROOT (permite acceder a las diferentes regiones) Hadoop: tecnologías relacionadas, CSD 32/36
  • 42. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Arquitectura Hadoop: tecnologías relacionadas, CSD 33/36
  • 43. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Almacenamiento físico Las modificaciones en la tabla se almacenan en memoria en una estructura llamada MemStore Los cambios se escriben también en un Write Ahead Log (WAL, también conocido como HLog) para recuperación en caso de fallo Hay un MemStore por Column family Cuando alcanza un cierto tamaño, el MemStore se vuelca a disco creando un nuevo StoreFile (HFile) HFiles Almacenamiento subyacente para HBase Cada HFile tiene datos de una sola Column family Una Column family puede estar distribuida en múltiples HFiles Los procesos de compactación unen HFiles de una misma Column family Hadoop: tecnologías relacionadas, CSD 34/36
  • 44. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Operaciones básicas Las operaciones básicas disponibles en HBase son Put añade datos a una tabla Delete borra datos de una tabla los datos se marcan como borrados el borrado real se hace en las compactaciones Scan recupera un conjunto de celdas (o toda la tabla) Get recupera una celda concreta Dispone de un HBase shell y un API para diversos lenguajes (principalmente Java) Hadoop: tecnologías relacionadas, CSD 35/36
  • 45. Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase Para saber más Libros: Tom White, “Hadoop: The Definitive Guide”, O’Reilly, third ed. (May 26, 2012) Chuck Lam, “Hadoop in action”, Manning Publications, first ed. (December 22, 2010) Alan Gates, “Programming Pig”, O’Reilly, first ed. (October 20, 2011) E. Capriolo, D. Wampler, J. Ruthergles, “Programming Hive”, O’Reilly, first ed. (October 2012) L. George, “HBase: The Definitive Guide”, O’Reilly, first ed. (October 2011) N. Dimidik, A. Khurana, “HBase in Action”, Manning Publications, first ed. (January 2013) A. Murthy, V. Vavilapalli, “Apache Hadoop YARN”, Addison-Wesley, first ed. (March 2014) Hadoop: tecnologías relacionadas, CSD 36/36