Está en la página 1de 6

Ingestin

de Datos
Sistema que ofrece un entorno distribuido, escalable y fiable para la
recogida de manera eficiente de grandes cantidades de datos. Tiene
una arquitectura simple y flexible basada en streaming de datos. Es http://flume.apache.org
Apache Flume robusto y tolerante a fallos con mecanismos de confiabilidad, failover

y recovery. Utiliza un modelo de datos extensible que permite
aplicaciones analticas en lnea.

Apache
Chukwa
Event-Based

Base de
datos
relacionales

ETL

HDFS
Montable
HDFS - REST
API

Ofrece un mecanismo para recolectar y almacenar logs en hdfs.


Incluye un kit de herramientas para monitorizar y analizar resultados.
Caractersticas:
- Escalabilidad
- Robustez

Sistema de mensajera publicador-subscriptor para procesar grandes


cantidades de datos en streming. Persiste los mensajes en disco de
forma eficiente. Esta caracterstica es interesante para rebobinar el
stream y consumir/procesar los mensajes de nuevo. Adems esta
caracterstica ayuda a importar los datos a HDFS para el anlisis
Apache Kafka
offline.

(*Camus: Subproyecto para transferir los eventos a HDFS)
(*Apache Storm: ayuda a la transformacin de mensajes en nuevos
streams de datos)
Herramienta para transferir bulk de datos entre HDFS y
almacenamiento de datos estructurados como base de datos
Apache Sqoop
relacionales.
(* Usa Mapreduce para ingestar datos.)
Framework open-source que reduce el tiempo de desarrollo para
Cloudera
integrar, construir y cambiar las aplicaciones de procesamiento de
Morphline
Hadoop. Ayuda a simplificar la extraccin, transformacin y carga en
(Forma parte Apache Solr, HBase, HDFS, data warehaouse o herramientas on-line
de KiteSDK)
analticas
(FileSystem in Userspace) permite montar y usar HDFS como si de un
FuseFS
sistema de ficheros Linux se tratase.
Servidor externo que provee una API REST de lectura y escritura.
HttpFS
Usado para transferir datos entre HDFS y diferentes orgenes de

http://chukwa.apache.org

http://kafka.apache.org

http://sqoop.apache.org

http://kitesdk.org/docs/0.1
7.1/morphlines/
https://wiki.apache.org/had
oop/MountableHDFS
http://hadoop.apache.org/
docs/r2.2.0/hadoop-hdfs-

KiteSDK

Hadoop API

Acceso
(org.apache.h
programtico

adoop.io)

datos.
httpfs/index.html

Ejemplos: transferencia entre diferentes versiones de Hadoop, uso de
curl o wget, etc.
(Anteriormente Kit de desarrollo de Cloudera) es un proyecto de
cdigo abierto (Apache License) que posee un conjunto de
bibliotecas, herramientas y documentacin que hacen ms fcil a los
desarrolladores crear sistemas en la parte superior de la pila de
Hadoop.
Objetivos:
http://kitesdk.org/docs/cur

- Patrones y prcticas para la construccin de sistemas
rent/
orientados a datos.
- Permite centrarse en la lgica de negocio, no en los detalles a
bajo nivel o infraestructura.
- Proporcionar valores predeterminados para las opciones de la
plataforma.
https://hadoop.apache.org/
docs/stable/api/org/apache
Va Hadoop API
/hadoop/io/package-
summary.html

Tipo de Ficheros
TextPlain
SequenceFile
Document-
Based

Apache Avro

Columnar-
Based

RCFile

Estructurado, semi-estructurado o desestructurado.


Son ficheros planos que consisten en pares clave/valor. Permite 3
tipos de formatos:
- Sin compresin.
- Compresin en bloque.
- Compresin por registro.
Framework para modelizar, serializar y realizar RPCs. Los datos de tipo
Avro son descritos por un esquema que es almacenado junto a los
datos, as que son ficheros que self-describing. Avro no requiere
generacin de cdigo.

Ofrece compresin a nivel de bloque.
(Record Columnar File) Ficheros estructurados que almacena todos
los datos como strings.
Inicialmente usado para Hive.

http://wiki.apache.org/had
oop/SequenceFile

http://avro.apache.org

http://en.wikipedia.org/wik
i/RCFile

Parquet

Es un formato orientado a columna de almacenamiento eficiente y


buen rendimiento de acceso.
Ofrece una gran interoperatibilidad sin perder rendimiento.
Ofrece compresin.

http://www.cloudera.com/
content/cloudera/en/docu
mentation/cdh4/v4-6-
0/CDH4-Installation-
Guide/cdh4ig_parquet.html

Compresin

Snappy

LZO

Cdec de compresin y descompresin que favorece el rendimiento


sobre el nivel de compresin.
Cdec de compresin que favorece el rendimiento sobre el nivel de
compresin.
Admite la posibilidad de realizar compresin splittable.
(*Podra no estar incluido en las distribuciones de hadoop)

http://blog.cloudera.com/bl
og/2011/09/snappy-and-
hadoop/
http://en.wikipedia.org/wik
i/LempelZivOberhumer

Meta-Data Management

Apache
HCatalog

Es parte del proyecto Hive aunque otros elementos del ecosistema


(Pig, MapReduce, ...) pueden acceder al servicio de metainformacin.
HCatalog ofrece una abstraccin a los usuarios para presentar una
visin relacional de los datos, sin preocuparse de dnde o en qu
formato se almacenan los datos en HDFS.

http://hortonworks.com/ha
doop/hcatalog/

Distributed FileSystem

HDFS

Ofrece una manera de almacenar grandes ficheros a travs de


mltiples mquinas.
Proviene de Google FileSystem (GFS).
NameNode(maestro)/DataNode(esclavo).
Con ZooKeeper HDFS puede ofrecer High Availability (Activo/Pasivo)

http://hortonworks.com/ha
doop/hdfs/
http://blog.cloudera.com/bl
og/2012/07/why-we-build-
our-platform-on-hdfs/

NoSQL

Inspirado en Google Big Table.


Base de datos distribuida no relacional. Ofrece acceso random y
Apache HBase operaciones lectura-escritura en tiempo real sobre tablas columnares
de grandes cantidades de informacin (Base de datos BigData).
Es la base de datos de Hadoop.

http://hbase.apache.org

Distributed Programming
Batch

Apache
MapReduce

MapReduce es un modelo de programacin para el procesamiento de http://wiki.apache.org/had


grandes conjuntos de datos paralelo y distribuido en un clster.
oop/MapReduce/

Apache Hive

Apache Pig

Apache
Chunch

Apache Spark
Online, Near- (* Ofrece
Real Time
procesamient
o en batch)

Apache MapReduce se deriv de Google MapReduce.


La versin actual de Apache MapReduce est construido sobre
Apache YARN. Se trata de un nuevo marco que facilita la escritura de
los frameworks de procesamiento distribuido y aplicaciones. Modelo
de ejecucin de YARN es ms genrica que la implementacin de
MapReduce anterior. YARN puede ejecutar aplicaciones que no siguen
el modelo MapReduce.
Demonios:
- MRv1: JobTracker(Maestro), TaskTracker (Esclavo)
- YARN: ResourceManager(Maestro), NodeManager(Esclavo)
Infraestructura de almacenamiento de datos desarrollado por
Facebook. Ofrece consultas, anlisis y gestin de grandes cantidades
de datos.
Proporciona un lenguaje similar a SQL, HiveQL.
Permite abstraer a los usuarios de desarrollar aplicativos en
MapReduce directamente.

Pig ofrece un motor de ejecucin en flujos de datos paralelos en
Hadoop. Incluye un idioma, PigLatin, para expresar estos flujos de
datos. Pig Latin incluye operadores para muchas de las operaciones de
datos tradicional (join, order, filter, etc.), as como la capacidad para
que los usuarios desarrollen sus propias funciones para la lectura, el
procesamiento y la escritura de datos. Pig se ejecuta en Hadoop.
Pig utiliza MapReduce para ejecutar la totalidad de su procesamiento
de datos. Pig Latin se centra en el flujo de datos.
Es una librera Java que provee un framework para escribir, testear y
arrancar trabajos MapReduce en pipelines.
Funciona por encima de Hadoop MapReduce y Apache Spark.
Ofrece una manera simple de realizar operaciones costosas como
joining o agregaciones, etc.
Framework de computacin de anlisis de datos. Puede encajar en
hadoop puesto que puede procesar datos almacenados en HDFS. Es
una alternativa de Hadoop MapReduce, ofreciendo un rendimiento
(10 veces ms rpido).
Ofrece un entorno para escribir aplicaciones distribuidos.
Resuelve problemas similares a MapReduce, pero con un enfoque

http://hadoop.apache.org/
docs/stable/hadoop-
yarn/hadoop-yarn-
site/WritingYarnApplication
s.html

http://hive.apache.org

https://pig.apache.org
https://github.com/alanfgat
es/programmingpig

https://crunch.apache.org

https://spark.apache.org

orientado a memoria y API con estilo funcional.


A parte de la capacidad de integrarse con Hadoop, Spark ofrece una
serie de herramientas:
- Shark: SQL en Spark.
- Bagel: Procesamiento y anlisis de grandes datos en grafos.
- Spark Streaming: anlisis en tiempo real.
Programacin en Scala, Python y Java.
Es un procesador de eventos complejos y un framework de
Apache Storm computacin distribuida. Es un sistema de computacin en tiempo
(* Ofrece
real distribuido para el procesamiento rpido de grandes flujos de
procesamient datos. Storm es una arquitectura basada en el paradigma master-
workers.
o en batch y
micro-bacth) Puede ser utilizado con cualquier lenguaje de programacin, gracias a
Apache Thrift.

https://storm.apache.org

Interactive Queries

Cloudera
Impala

El proyecto Impala con licencia Apache lleva la tecnologa de base de


datos en paralelo escalable a Hadoop, permitiendo a los usuarios
realizar consultas SQL de baja latencia a los datos almacenados en
HDFS y/o Apache HBase sin necesidad de movimiento de datos o
transformacin.
Basado en Google Dremel (Big consulta google).

http://www.cloudera.com/
content/cloudera/en/produ
cts-and-
services/cdh/impala.html

Searching

Apache Solr

Cloudera
Search

Motor de bsqueda escalable basado en Lucene, con APIs en


XML/http y JSON.
Posee cientos de caractersticas como indexado en batch o near-
realtime, resaltado de resultados, bsqueda por facetado,
herramientas de monitorizacin.
Ofrece la distribucin SolrCloud.
Es una solucin que utiliza Apache Solr utilizando SolrCloud, Apache
Tika y Solr Cell.
Incluye las siguientes caractersticas:
- Permite bsquedas en los datos almacenados en HDFS o
HBase.
- Permite indexaciones en batch o near-realtime.
- Simple navegacin y exploracin de datos full-text.

http://lucene.apache.org/s
olr/

http://www.cloudera.com/
content/cloudera/en/docu
mentation/cloudera-
search/v1-latest/Cloudera-
Search-User-
Guide/csug_introducing.ht
ml

ElasticSearch

Elasticsearch es un servidor de bsqueda basado en Lucene.


Provee un motor de bsqueda de texto completo, distribuido y con
capacidad de multi-tenencia con una interfaz web RESTful y con
documentos JSON.
Elasticsearch est desarrollado en Java.
Integrable con Hadoop
Machine Learning
Librera de Machine Learning y matemtica que se ubica por encima
de MapReduce.

Mahout

Cloudera Oryx Proyecto de cdigo abierto que proporciona machine learning en

MLlib

Scheduling

Apache Oozie

WEB UI

HUE

tiempo real.
Implementa algunos de los algoritmos ms comunes que se utilizan en
aplicaciones de negocio.
- Filtro colaborativo | Recomendaciones.
- Clasificacin | Regresin.
- Clustering.
Librera para MaChine Learning escalable de Spark.
Consiste en algoritmos comunes de aprendizaje como clasificacin,
regresin, clustering, filtrado colaborativo, etc
Despliegue y otros
Motor de workflows para gestionar los trabajos de Apache Hadoop.
Esta integrado con el resto de la pila de proyectos Hadoop como Java
Map-Reduce, Hive, Pig, Sqoop, Flume,
Es un sistema escalable, fiable y extensible.
Aplicacin Web para interactuar con Apache Hadoop y ecosistema.

http://www.elasticsearch.o
rg/overview/

http://mahout.apache.org

http://community.clouder
a.com/t5/Data-Science-
and-Machine/bd-
p/Mahout

https://spark.apache.org/
docs/1.1.0/mllib-
guide.html

http://oozie.apache.org
http://gethue.com

También podría gustarte