hadoop: tecnologias relacionadas

45
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

Upload: tomas-pena

Post on 31-May-2015

708 views

Category:

Technology


2 download

DESCRIPTION

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

TRANSCRIPT

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

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

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

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

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

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

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

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

Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase

Pig

Iniciado en Yahoo! Research

Eleva el nivel de abstracción paraprocesar 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 deitems

. “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

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

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.piginput_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 palabraswords = FOREACH input_lines GENERATE FLATTEN(TOKENIZE(line)) AS word;-- filtra las palabras que sean solo espaciosfwords = FILTER words BY word MATCHES ’\\w+’;-- crea un grupo para cada palabrawgroups = GROUP fwords BY word;-- cuenta las entradas en cada grupowcount = FOREACH wgroups GENERATE COUNT(fwords) AS count, group AS word;-- orden descendenteordered_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

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

Cargausuarios

Filtra poredad

Cargapáginas

Une pornombre

Agrupa porURL

Cuentaclicks

Ordena porclicks

Toma los5 primeros

Fuente http://wiki.apache.org/pig-data/attachments/PigTalksPapers/attachments/ApacheConEurope09.ppt

Hadoop: tecnologías relacionadas, CSD 8/36

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

Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase

Traslación directa

Los componentes del trabajo se trasladan de forma natural

Cargausuarios

Filtra poredad

Cargapáginas

Une pornombre

Agrupa porURL

Cuentaclicks

Ordena porclicks

Toma los5 primeros

Users = load ...

Filtered = filter …

Pages = load …

Joined = join …

Grouped = group …

Summed = … count()…

Sorted = order …

Top5 = limit …

Hadoop: tecnologías relacionadas, CSD 10/36

Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase

Traslación directa

Los componentes del trabajo se trasladan de forma natural

Cargausuarios

Filtra poredad

Cargapáginas

Une pornombre

Agrupa porURL

Cuentaclicks

Ordena porclicks

Toma los5 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

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

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

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

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

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

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

Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase

Hive Metastore

Embedded metastore

Local metastore

Hadoop: tecnologías relacionadas, CSD 15/36

Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase

Hive Metastore

Remote metastore

Hadoop: tecnologías relacionadas, CSD 16/36

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

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

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

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 cl icks

FROM users u JOIN page_views p ON (u.name = p. user )

WHERE u.age >= 18 AND u.age <= 25

GROUP BY p. ur l

ORDER BY cl icks

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

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

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

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 seguarda 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 mueveel 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

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

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

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

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

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

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 datosfísicamente

- Es necesario definirlas cuando se crea la tabla

. El nombre de la familia es un String

Hadoop: tecnologías relacionadas, CSD 27/36

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

Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase

Ejemplo de tabla

nombre edad email

Juan Pérez@ts

43@ts

[email protected]@ts

info ventas

juan

pepe

ciudad password

Zaragoza@ts

Santiago @ts

[email protected]@ts

12345678@tsqwerty@ts

producto precio

Blue-ray@ts

300 €@ts

Tabla clientes

rowkeys column family column

Hadoop: tecnologías relacionadas, CSD 29/36

Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase

Modelo clave-valor

[juan, info, edad, 13243566] −→ 43[juan, info, email, 13243598] −→ [email protected][juan, info, email, 13243580] −→ [email protected][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

Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase

Modelo mapa ordenado de mapas{

"juan" : {"info" : {

"edad" : {13243543 : "43"

},"email" : {

13243598 : "[email protected]"13243580 : "[email protected]"

},"nombre" : {

13243543 : "Juan Pérez"},

},"ventas" : {.......

},}

Hadoop: tecnologías relacionadas, CSD 31/36

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

Tecnologías relacionadas Pig Hive Apache Oozie Introducción a HBase

Arquitectura

Hadoop: tecnologías relacionadas, CSD 33/36

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

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

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