Este documento presenta varias tecnologías relacionadas con Hadoop como Pig, Hive, Apache Oozie e HBase. Brevemente describe cada una de estas tecnologías, incluyendo que Pig es un lenguaje de alto nivel para procesar grandes conjuntos de datos usando MapReduce, que Hive es una infraestructura de almacenamiento de datos que permite consultas SQL sobre Hadoop, y que Oozie y HBase son herramientas para programar flujos de trabajo y bases de datos NoSQL respectivamente.
Taller sobre la creación de un clúster de Apache Hadoop y aplicaciones de su entorno de las XIII Xornadas Libres de Gpul en la Universidade da Coruña http://gpul.es/e/2014/xornadas-libres/
Taller sobre la creación de un clúster de Apache Hadoop y aplicaciones de su entorno de las XIII Xornadas Libres de Gpul en la Universidade da Coruña http://gpul.es/e/2014/xornadas-libres/
Tutorial Introductorio a Big Data, Hadoop y sus tecnologías asociadas (Hive, Pig, HBase, HDFS), etc. Presentado en el XVIII Congreso Iberoamericano de Ingenieria del Software (CIBSE). Peru. Lima. Abril del 2015.
En esta presentación se incentiva el desarrollo de aplicaciones para la resolución de problemas comunes de hoy en día que implican el manejo de grandes volúmenes de información, desde el enfoque de Big Data.
Se propone la combinación de OpenStack y Hadoop para apoyar el desarrollo de soluciones, que permitan extraer información valiosa a partir de grandes volúmenes de datos.
Monta una Infraestructura Big Data para tu Empresa - Sesión IIUrko Zurutuza
Segunda parte del Taller "Monta una Infraestructura Big Data para tu Empresa", impartido por Urko Zurutuza de Mondragon Unibertsitatea en Enpresa Digitala. En esta segunda parte, se aborda la instalación de un cluster mediante Cloudera Manager 5
Monta una Infraestructura para Big Data en tu EmpresaUrko Zurutuza
Tercera y última sesión del curso "Monta una Infraestructura para Big Data en tu Empresa" impartida por Urko Zurutuza de Mondragon Unibertsitatea para Enpresa Digitala. En esta sesión se muestran ejercicios prácticos y guiados que darán pie a probar algunas de las herramientas que dispone la distribucion Hadoop Cloudera CDH5.
Monta una Infraestructura Big Data para tu Empresa - Sesión IUrko Zurutuza
Primera Sesión sobre el Curso de Enpresa Digitala "Monta una Infraestructura Big Data en tu Empresa", impartido por Urko Zurutuza de Mondragon Unibertsitatea. Hablaremos de Hadoop y de su ecosistema de herramientas.
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...Joseph Lopez
Breve sinopsis sobre como comprender todo el escenario en la manipulación de datos procedentes del Big Data, de los Almacenes de Datos Empresariales con motor de datos SQL Azure bajo Plataforma BI
Log -Analytics con Apache-Flume Elasticsearch HDFS KibanaFelix Rodriguez
I’ve recently started learning more about the tools and technologies that fall under the loose umbrella term of Big Data, let´s try to include getting Apache log data into Hadoop, and bringing Twitter data into Hadoop via ElasticSearch.
Tutorial Introductorio a Big Data, Hadoop y sus tecnologías asociadas (Hive, Pig, HBase, HDFS), etc. Presentado en el XVIII Congreso Iberoamericano de Ingenieria del Software (CIBSE). Peru. Lima. Abril del 2015.
En esta presentación se incentiva el desarrollo de aplicaciones para la resolución de problemas comunes de hoy en día que implican el manejo de grandes volúmenes de información, desde el enfoque de Big Data.
Se propone la combinación de OpenStack y Hadoop para apoyar el desarrollo de soluciones, que permitan extraer información valiosa a partir de grandes volúmenes de datos.
Monta una Infraestructura Big Data para tu Empresa - Sesión IIUrko Zurutuza
Segunda parte del Taller "Monta una Infraestructura Big Data para tu Empresa", impartido por Urko Zurutuza de Mondragon Unibertsitatea en Enpresa Digitala. En esta segunda parte, se aborda la instalación de un cluster mediante Cloudera Manager 5
Monta una Infraestructura para Big Data en tu EmpresaUrko Zurutuza
Tercera y última sesión del curso "Monta una Infraestructura para Big Data en tu Empresa" impartida por Urko Zurutuza de Mondragon Unibertsitatea para Enpresa Digitala. En esta sesión se muestran ejercicios prácticos y guiados que darán pie a probar algunas de las herramientas que dispone la distribucion Hadoop Cloudera CDH5.
Monta una Infraestructura Big Data para tu Empresa - Sesión IUrko Zurutuza
Primera Sesión sobre el Curso de Enpresa Digitala "Monta una Infraestructura Big Data en tu Empresa", impartido por Urko Zurutuza de Mondragon Unibertsitatea. Hablaremos de Hadoop y de su ecosistema de herramientas.
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...Joseph Lopez
Breve sinopsis sobre como comprender todo el escenario en la manipulación de datos procedentes del Big Data, de los Almacenes de Datos Empresariales con motor de datos SQL Azure bajo Plataforma BI
Log -Analytics con Apache-Flume Elasticsearch HDFS KibanaFelix Rodriguez
I’ve recently started learning more about the tools and technologies that fall under the loose umbrella term of Big Data, let´s try to include getting Apache log data into Hadoop, and bringing Twitter data into Hadoop via ElasticSearch.
TECNOLOGIA DETRAS DE LAS REDES SOCIALES(FACEBOOK) - LENGUAJE DE PROGRAMACION IIChristian Garcia Gamio
FUNCIONALIDAD EN FACEBOOK, LA MARAVILLA DE ADMINISTRAR ENORME CANTIDAD DE DATOS DE LA MANERA MAS EFECTIVA Y DESARROLLANDO NUEVAS SOLUCIONES EN SU PLATAFORMA.
Log -Analytics with Apache-Flume Elasticsearch HDFS KibanaFelix Rodriguez
I’ve recently started learning more about the tools and technologies that fall under the loose umbrella term of Big Data, let´s try to get Apache log data into Hadoop, and bringing Info data into Hadoop via ElasticSearch.
Hadoop se ha consolidado como una de las herramientas principales para procesamiento de altos volúmenes de información (Big Data). El rol de Hadoop en las empresas continua evolucionando optimizando la arquitectura de almacenamiento y procesamiento de datos, incrementando el performance y disminuyendo los costos.
El participante aprenderá acerca del ecosistema de Hadoop, así como las funcionalidades básicas de HDFS y MapReduce. Además de, podremos explorar como usar Hive y Pig para el desarrollo rápido de procesamiento.
Workshop de introducción a docker, desde lo más básico hasta un dockerfile de producción no muy sofisticado.
Incluye link a un repositorio para seguir un ejercicio a lo largo de la presentación
http://summit.solidq.com
Es innegable que los motores de BBDD transaccionales deben adaptarse a la posibilidad de gestionar datos no estructurados. Microsoft en SQL Server 2016 incluye un motor nuevo (llamado Polybase) que permite acceder con lenguaje Transact SQL a datos no estructurados y poder mezclarlos con datos estructurados. En esta sesión conocerá este nuevo motor y cómo empezar a integrar datos no estructurados en sus bases de datos transaccionales.
¿Por que cambiar de Apache Hadoop a Apache Spark?Socialmetrix
Abstract de la charla realizada en SUGAR - Scala User Group Argentina
Apache Spark [1] es un framework para procesamiento distribuído diseñado para ser amigable para Data-Scientists y programadores, con soporte nativo a muchos lenguajes y diversidad de formatos de datos es extramadamente flexible. Cambiando el modelo establecido por Hadoop v1 de Map-Reduce por un grafo de ejecución (DAG) y manteniendo los pasos intermédios en RAM, Spark brinda excelente performance y una API muy expresiva.
Gustavo Arjones [2], CTO de Socialmetrix, va contar la experiencia que tuvieron al cambiarse de Hadoop a Spark y lo que los llevaron a este cambio. Esta charla es una introducción teorica y practica a Spark y sus distintos componentes.
Los tópicos a discutir son:
• Qué és?
• Aspectos que hacen Spark tan atractivo para la comunidad
• Plataforma unificada para Data Science (Batch, Stream, ML, Graph)
• Soporte a distintos lenguajes
• Ejecución: RDD y DAG / Task Scheduller
• Tracción de la comunidad (# commits, # commiters)
• testing, etc
• Demos:
• Spark-shell: Explicar paso a paso el WordCount
• LogAnalytics - compilar y submeter al cluster
• SQL/DataFrames: Demostrar que se puede consumir directamente JSON y hacer queries con SQL
[1] http://spark.apache.org
[2] https://linkedin.com/in/arjones
Una introducción a Docker, los principales conceptos e ideas y como se lo puede utilizar desde Microsoft Azure. Esta presentación fue parte del Global Azure Bootcamp 2016 en Buenos Aires, Argentina
Javier Lahoz. Arquitecto Big Data actualmente trabajando en una entidad financiera en el diseño e implantación de soluciones Big Data para el tratamiento analítico de la información bancaria.
Conociendo los servicios adicionales en big dataSpanishPASSVC
Todos han empezado a usar y a conocer Hadoop y HDInsight, en parte los lenguajes usados para su consumo, pero poco se hablado de los servicios complementarios que pueden enriquecer la experiencia BigData, conozca estos servicios y su aplicación.
En este documento analizamos ciertos conceptos relacionados con la ficha 1 y 2. Y concluimos, dando el porque es importante desarrollar nuestras habilidades de pensamiento.
Sara Sofia Bedoya Montezuma.
9-1.
Inteligencia Artificial y Ciberseguridad.pdfEmilio Casbas
Recopilación de los puntos más interesantes de diversas presentaciones, desde los visionarios conceptos de Alan Turing, pasando por la paradoja de Hans Moravec y la descripcion de Singularidad de Max Tegmark, hasta los innovadores avances de ChatGPT, y de cómo la IA está transformando la seguridad digital y protegiendo nuestras vidas.
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...espinozaernesto427
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta intensidad son un tipo de lámpara eléctrica de descarga de gas que produce luz por medio de un arco eléctrico entre electrodos de tungsteno alojados dentro de un tubo de alúmina o cuarzo moldeado translúcido o transparente.
lámparas más eficientes del mercado, debido a su menor consumo y por la cantidad de luz que emiten. Adquieren una vida útil de hasta 50.000 horas y no generan calor alguna. Si quieres cambiar la iluminación de tu hogar para hacerla mucho más eficiente, ¡esta es tu mejor opción!
Las nuevas lámparas de descarga de alta intensidad producen más luz visible por unidad de energía eléctrica consumida que las lámparas fluorescentes e incandescentes, ya que una mayor proporción de su radiación es luz visible, en contraste con la infrarroja. Sin embargo, la salida de lúmenes de la iluminación HID puede deteriorarse hasta en un 70% durante 10,000 horas de funcionamiento.
Muchos vehículos modernos usan bombillas HID para los principales sistemas de iluminación, aunque algunas aplicaciones ahora están pasando de bombillas HID a tecnología LED y láser.1 Modelos de lámparas van desde las típicas lámparas de 35 a 100 W de los autos, a las de más de 15 kW que se utilizan en los proyectores de cines IMAX.
Esta tecnología HID no es nueva y fue demostrada por primera vez por Francis Hauksbee en 1705. Lámpara de Nernst.
Lámpara incandescente.
Lámpara de descarga. Lámpara fluorescente. Lámpara fluorescente compacta. Lámpara de haluro metálico. Lámpara de vapor de sodio. Lámpara de vapor de mercurio. Lámpara de neón. Lámpara de deuterio. Lámpara xenón.
Lámpara LED.
Lámpara de plasma.
Flash (fotografía) Las lámparas de descarga de alta intensidad (HID) son un tipo de lámparas de descarga de gas muy utilizadas en la industria de la iluminación. Estas lámparas producen luz creando un arco eléctrico entre dos electrodos a través de un gas ionizado. Las lámparas HID son conocidas por su gran eficacia a la hora de convertir la electricidad en luz y por su larga vida útil.
A diferencia de las luces fluorescentes, que necesitan un recubrimiento de fósforo para emitir luz visible, las lámparas HID no necesitan ningún recubrimiento en el interior de sus tubos. El propio arco eléctrico emite luz visible. Sin embargo, algunas lámparas de halogenuros metálicos y muchas lámparas de vapor de mercurio tienen un recubrimiento de fósforo en el interior de la bombilla para mejorar el espectro luminoso y reproducción cromática. Las lámparas HID están disponibles en varias potencias, que van desde los 25 vatios de las lámparas de halogenuros metálicos autobalastradas y los 35 vatios de las lámparas de vapor de sodio de alta intensidad hasta los 1.000 vatios de las lámparas de vapor de mercurio y vapor de sodio de alta intensidad, e incluso hasta los 1.500 vatios de las lámparas de halogenuros metálicos.
Las lámparas HID requieren un equipo de control especial llamado balasto para funcionar
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital, siendo este un componente electrónico, por tanto se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos.
Estructuras básicas_ conceptos de programación (1).docx
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
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
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
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
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
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
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
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
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