SlideShare una empresa de Scribd logo
1 de 45
Descargar para leer sin conexión
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 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
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.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
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
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
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
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
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 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
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 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
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 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
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
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
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
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
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

Más contenido relacionado

La actualidad más candente

Big Data a traves de una implementación
Big Data a traves de una implementaciónBig Data a traves de una implementación
Big Data a traves de una implementaciónDiego Krauthamer
 
Big data para desarrolladores utilizando hadoop y openstack
Big data para desarrolladores utilizando hadoop y openstack Big data para desarrolladores utilizando hadoop y openstack
Big data para desarrolladores utilizando hadoop y openstack Guillermo Alvarado Mejía
 
Herramientas y ejemplos de trabajos MapReduce con Apache Hadoop
Herramientas y ejemplos de trabajos MapReduce con Apache HadoopHerramientas y ejemplos de trabajos MapReduce con Apache Hadoop
Herramientas y ejemplos de trabajos MapReduce con Apache HadoopDavid Albela Pérez
 
Monta una Infraestructura Big Data para tu Empresa - Sesión II
Monta una Infraestructura Big Data para tu Empresa - Sesión IIMonta una Infraestructura Big Data para tu Empresa - Sesión II
Monta una Infraestructura Big Data para tu Empresa - Sesión IIUrko Zurutuza
 
Monta una Infraestructura para Big Data en tu Empresa
Monta una Infraestructura para Big Data en tu EmpresaMonta una Infraestructura para Big Data en tu Empresa
Monta una Infraestructura para Big Data en tu EmpresaUrko Zurutuza
 
Monta una Infraestructura Big Data para tu Empresa - Sesión I
Monta una Infraestructura Big Data para tu Empresa - Sesión IMonta una Infraestructura Big Data para tu Empresa - Sesión I
Monta una Infraestructura Big Data para tu Empresa - Sesión IUrko Zurutuza
 
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...Joseph Lopez
 
Pablo Doval | Plain Concepts | Open Data
Pablo Doval | Plain Concepts | Open DataPablo Doval | Plain Concepts | Open Data
Pablo Doval | Plain Concepts | Open DataSmash Tech
 
MONITORIZACIÓN Y ANÁLISIS DE TRÁFICO DE RED CON APACHE HADOOP
MONITORIZACIÓN Y ANÁLISIS DE TRÁFICO DE RED CON APACHE HADOOPMONITORIZACIÓN Y ANÁLISIS DE TRÁFICO DE RED CON APACHE HADOOP
MONITORIZACIÓN Y ANÁLISIS DE TRÁFICO DE RED CON APACHE HADOOPJorge E. López de Vergara Méndez
 
Log -Analytics con Apache-Flume Elasticsearch HDFS Kibana
 Log -Analytics con Apache-Flume  Elasticsearch HDFS Kibana Log -Analytics con Apache-Flume  Elasticsearch HDFS Kibana
Log -Analytics con Apache-Flume Elasticsearch HDFS KibanaFelix Rodriguez
 

La actualidad más candente (19)

Big Data a traves de una implementación
Big Data a traves de una implementaciónBig Data a traves de una implementación
Big Data a traves de una implementación
 
Introducción a hadoop
Introducción a hadoopIntroducción a hadoop
Introducción a hadoop
 
OpenAnalytics Madrid 2014: Spark
OpenAnalytics Madrid 2014: SparkOpenAnalytics Madrid 2014: Spark
OpenAnalytics Madrid 2014: Spark
 
BigData y MapReduce
BigData y MapReduceBigData y MapReduce
BigData y MapReduce
 
Presentacion
PresentacionPresentacion
Presentacion
 
Big data para desarrolladores utilizando hadoop y openstack
Big data para desarrolladores utilizando hadoop y openstack Big data para desarrolladores utilizando hadoop y openstack
Big data para desarrolladores utilizando hadoop y openstack
 
Herramientas y ejemplos de trabajos MapReduce con Apache Hadoop
Herramientas y ejemplos de trabajos MapReduce con Apache HadoopHerramientas y ejemplos de trabajos MapReduce con Apache Hadoop
Herramientas y ejemplos de trabajos MapReduce con Apache Hadoop
 
Taller hadoop
Taller hadoopTaller hadoop
Taller hadoop
 
3. Hadoop
3.  Hadoop3.  Hadoop
3. Hadoop
 
Monta una Infraestructura Big Data para tu Empresa - Sesión II
Monta una Infraestructura Big Data para tu Empresa - Sesión IIMonta una Infraestructura Big Data para tu Empresa - Sesión II
Monta una Infraestructura Big Data para tu Empresa - Sesión II
 
Hadoop
HadoopHadoop
Hadoop
 
Introducción a Apache HBase
Introducción a Apache HBaseIntroducción a Apache HBase
Introducción a Apache HBase
 
Monta una Infraestructura para Big Data en tu Empresa
Monta una Infraestructura para Big Data en tu EmpresaMonta una Infraestructura para Big Data en tu Empresa
Monta una Infraestructura para Big Data en tu Empresa
 
Monta una Infraestructura Big Data para tu Empresa - Sesión I
Monta una Infraestructura Big Data para tu Empresa - Sesión IMonta una Infraestructura Big Data para tu Empresa - Sesión I
Monta una Infraestructura Big Data para tu Empresa - Sesión I
 
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
 
Pablo Doval | Plain Concepts | Open Data
Pablo Doval | Plain Concepts | Open DataPablo Doval | Plain Concepts | Open Data
Pablo Doval | Plain Concepts | Open Data
 
MONITORIZACIÓN Y ANÁLISIS DE TRÁFICO DE RED CON APACHE HADOOP
MONITORIZACIÓN Y ANÁLISIS DE TRÁFICO DE RED CON APACHE HADOOPMONITORIZACIÓN Y ANÁLISIS DE TRÁFICO DE RED CON APACHE HADOOP
MONITORIZACIÓN Y ANÁLISIS DE TRÁFICO DE RED CON APACHE HADOOP
 
GOsa+samba+ldap
GOsa+samba+ldapGOsa+samba+ldap
GOsa+samba+ldap
 
Log -Analytics con Apache-Flume Elasticsearch HDFS Kibana
 Log -Analytics con Apache-Flume  Elasticsearch HDFS Kibana Log -Analytics con Apache-Flume  Elasticsearch HDFS Kibana
Log -Analytics con Apache-Flume Elasticsearch HDFS Kibana
 

Destacado

G te c sesion3b- mapreduce
G te c sesion3b- mapreduceG te c sesion3b- mapreduce
G te c sesion3b- mapreduceVictoria López
 
TECNOLOGIA DETRAS DE LAS REDES SOCIALES(FACEBOOK) - LENGUAJE DE PROGRAMACION II
TECNOLOGIA DETRAS DE LAS REDES SOCIALES(FACEBOOK) - LENGUAJE DE PROGRAMACION IITECNOLOGIA DETRAS DE LAS REDES SOCIALES(FACEBOOK) - LENGUAJE DE PROGRAMACION II
TECNOLOGIA DETRAS DE LAS REDES SOCIALES(FACEBOOK) - LENGUAJE DE PROGRAMACION IIChristian Garcia Gamio
 
Comparacion Entre Rmi Y Api De Sockets
Comparacion Entre Rmi Y Api De SocketsComparacion Entre Rmi Y Api De Sockets
Comparacion Entre Rmi Y Api De Socketsmallita
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosNanda Moran
 
Log -Analytics with Apache-Flume Elasticsearch HDFS Kibana
Log -Analytics with Apache-Flume  Elasticsearch HDFS KibanaLog -Analytics with Apache-Flume  Elasticsearch HDFS Kibana
Log -Analytics with Apache-Flume Elasticsearch HDFS KibanaFelix Rodriguez
 
Introducción al BigData con Hadoop
Introducción al BigData con HadoopIntroducción al BigData con Hadoop
Introducción al BigData con HadoopSoftware Guru
 
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...Joseph Lopez
 
Mallorca MUG: MapReduce y Aggregation Framework
Mallorca MUG: MapReduce y Aggregation FrameworkMallorca MUG: MapReduce y Aggregation Framework
Mallorca MUG: MapReduce y Aggregation FrameworkEmilio Torrens
 
Map reduce (from Google)
Map reduce (from Google)Map reduce (from Google)
Map reduce (from Google)Sri Prasanna
 
nerdear.la 2016 - Docker workshop
nerdear.la 2016 - Docker workshopnerdear.la 2016 - Docker workshop
nerdear.la 2016 - Docker workshopRestorando
 
Como de grandes son tus datos
Como de grandes son tus datosComo de grandes son tus datos
Como de grandes son tus datosAntonio Rodriguez
 
Polybase
PolybasePolybase
PolybaseSolidQ
 
¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?Socialmetrix
 
BigDataSummitPeru - Big Data y Hadoop
BigDataSummitPeru - Big Data y HadoopBigDataSummitPeru - Big Data y Hadoop
BigDataSummitPeru - Big Data y HadoopDMC Perú
 

Destacado (20)

Introducción a Hadoop
Introducción a HadoopIntroducción a Hadoop
Introducción a Hadoop
 
Casos big data
Casos big dataCasos big data
Casos big data
 
G te c sesion3b- mapreduce
G te c sesion3b- mapreduceG te c sesion3b- mapreduce
G te c sesion3b- mapreduce
 
TECNOLOGIA DETRAS DE LAS REDES SOCIALES(FACEBOOK) - LENGUAJE DE PROGRAMACION II
TECNOLOGIA DETRAS DE LAS REDES SOCIALES(FACEBOOK) - LENGUAJE DE PROGRAMACION IITECNOLOGIA DETRAS DE LAS REDES SOCIALES(FACEBOOK) - LENGUAJE DE PROGRAMACION II
TECNOLOGIA DETRAS DE LAS REDES SOCIALES(FACEBOOK) - LENGUAJE DE PROGRAMACION II
 
Comparacion Entre Rmi Y Api De Sockets
Comparacion Entre Rmi Y Api De SocketsComparacion Entre Rmi Y Api De Sockets
Comparacion Entre Rmi Y Api De Sockets
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Log -Analytics with Apache-Flume Elasticsearch HDFS Kibana
Log -Analytics with Apache-Flume  Elasticsearch HDFS KibanaLog -Analytics with Apache-Flume  Elasticsearch HDFS Kibana
Log -Analytics with Apache-Flume Elasticsearch HDFS Kibana
 
Introducción al BigData con Hadoop
Introducción al BigData con HadoopIntroducción al BigData con Hadoop
Introducción al BigData con Hadoop
 
Big data, Hadoop, HDInsight
Big data, Hadoop, HDInsightBig data, Hadoop, HDInsight
Big data, Hadoop, HDInsight
 
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
 
Spark
SparkSpark
Spark
 
Mallorca MUG: MapReduce y Aggregation Framework
Mallorca MUG: MapReduce y Aggregation FrameworkMallorca MUG: MapReduce y Aggregation Framework
Mallorca MUG: MapReduce y Aggregation Framework
 
Map reduce (from Google)
Map reduce (from Google)Map reduce (from Google)
Map reduce (from Google)
 
nerdear.la 2016 - Docker workshop
nerdear.la 2016 - Docker workshopnerdear.la 2016 - Docker workshop
nerdear.la 2016 - Docker workshop
 
Como de grandes son tus datos
Como de grandes son tus datosComo de grandes son tus datos
Como de grandes son tus datos
 
Polybase
PolybasePolybase
Polybase
 
¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?
 
The google MapReduce
The google MapReduceThe google MapReduce
The google MapReduce
 
BigDataSummitPeru - Big Data y Hadoop
BigDataSummitPeru - Big Data y HadoopBigDataSummitPeru - Big Data y Hadoop
BigDataSummitPeru - Big Data y Hadoop
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a Docker
 

Similar a Hadoop: tecnologias relacionadas

OpenAnalytics 04/2015 - Data Analytics con Hadoop
OpenAnalytics 04/2015 - Data Analytics con HadoopOpenAnalytics 04/2015 - Data Analytics con Hadoop
OpenAnalytics 04/2015 - Data Analytics con HadoopOpenAnalytics Spain
 
Zend framework
Zend frameworkZend framework
Zend frameworkjasiel_14
 
Apache
ApacheApache
ApacheXavier
 
Nuestro primer Sitio Web Con Software Libre
Nuestro primer Sitio Web Con Software LibreNuestro primer Sitio Web Con Software Libre
Nuestro primer Sitio Web Con Software LibreHollman Enciso
 
Diseño e instalación de sitios web (PHP hypertext preprocessor)
Diseño e instalación de sitios web (PHP hypertext preprocessor)Diseño e instalación de sitios web (PHP hypertext preprocessor)
Diseño e instalación de sitios web (PHP hypertext preprocessor)KareliaRivas
 
Tutorial de php y my sql completo
Tutorial de php y my sql completoTutorial de php y my sql completo
Tutorial de php y my sql completogenaro martinez
 
Tutorial php basico
Tutorial php basicoTutorial php basico
Tutorial php basicoYo ♥ Tacna
 
Construyendo Aplicaciones Web con PHP + LUA + REDIS
Construyendo Aplicaciones Web con PHP + LUA + REDISConstruyendo Aplicaciones Web con PHP + LUA + REDIS
Construyendo Aplicaciones Web con PHP + LUA + REDISGonzalo Chacaltana
 
Aplicaciones web con php y my sql
Aplicaciones web con php y my sqlAplicaciones web con php y my sql
Aplicaciones web con php y my sqlyanetzis
 
Instalación de apache en linux
Instalación de apache en linuxInstalación de apache en linux
Instalación de apache en linuxanthonycanela
 
Sesion Nº 03 Tecnologias Web I Instalación Y Configuración Del Servidor A...
Sesion Nº 03   Tecnologias Web I   Instalación Y Configuración Del Servidor A...Sesion Nº 03   Tecnologias Web I   Instalación Y Configuración Del Servidor A...
Sesion Nº 03 Tecnologias Web I Instalación Y Configuración Del Servidor A...Edgar A. Cruz Huaman
 
Conociendo los servicios adicionales en big data
Conociendo los servicios adicionales en big dataConociendo los servicios adicionales en big data
Conociendo los servicios adicionales en big dataSpanishPASSVC
 

Similar a Hadoop: tecnologias relacionadas (20)

OpenAnalytics 04/2015 - Data Analytics con Hadoop
OpenAnalytics 04/2015 - Data Analytics con HadoopOpenAnalytics 04/2015 - Data Analytics con Hadoop
OpenAnalytics 04/2015 - Data Analytics con Hadoop
 
Zend framework
Zend frameworkZend framework
Zend framework
 
Apache
ApacheApache
Apache
 
Best hadoop bigdata architecture resume
Best hadoop bigdata architecture resume Best hadoop bigdata architecture resume
Best hadoop bigdata architecture resume
 
Nuestro primer Sitio Web Con Software Libre
Nuestro primer Sitio Web Con Software LibreNuestro primer Sitio Web Con Software Libre
Nuestro primer Sitio Web Con Software Libre
 
Diseño e instalación de sitios web (PHP hypertext preprocessor)
Diseño e instalación de sitios web (PHP hypertext preprocessor)Diseño e instalación de sitios web (PHP hypertext preprocessor)
Diseño e instalación de sitios web (PHP hypertext preprocessor)
 
Guia LAPP
Guia LAPPGuia LAPP
Guia LAPP
 
php
phpphp
php
 
Tutorial de php y my sql completo
Tutorial de php y my sql completoTutorial de php y my sql completo
Tutorial de php y my sql completo
 
Tutorial php basico
Tutorial php basicoTutorial php basico
Tutorial php basico
 
Construyendo Aplicaciones Web con PHP + LUA + REDIS
Construyendo Aplicaciones Web con PHP + LUA + REDISConstruyendo Aplicaciones Web con PHP + LUA + REDIS
Construyendo Aplicaciones Web con PHP + LUA + REDIS
 
Practica09
Practica09Practica09
Practica09
 
Aplicaciones web con php y my sql
Aplicaciones web con php y my sqlAplicaciones web con php y my sql
Aplicaciones web con php y my sql
 
Tema1
Tema1Tema1
Tema1
 
Php
PhpPhp
Php
 
Instalación de apache en linux
Instalación de apache en linuxInstalación de apache en linux
Instalación de apache en linux
 
Sesion Nº 03 Tecnologias Web I Instalación Y Configuración Del Servidor A...
Sesion Nº 03   Tecnologias Web I   Instalación Y Configuración Del Servidor A...Sesion Nº 03   Tecnologias Web I   Instalación Y Configuración Del Servidor A...
Sesion Nº 03 Tecnologias Web I Instalación Y Configuración Del Servidor A...
 
Conociendo los servicios adicionales en big data
Conociendo los servicios adicionales en big dataConociendo los servicios adicionales en big data
Conociendo los servicios adicionales en big data
 
Php andmysql
Php andmysqlPhp andmysql
Php andmysql
 
nn
nnnn
nn
 

Último

trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 

Último (20)

trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 

Hadoop: tecnologias relacionadas

  • 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