Está en la página 1de 4

Que es hadoop.

Hadoop es un marco de trabajo (framework) que permite procesar grandes


cantidades de datos a muy bajo coste, y que incluye una colección de
componentes de procesamiento de datos distribuidos para almacenamiento y
proceso de datos estructurados, semiestructurados o no estructurados con una
alta escalabilidad (decenas o centenas de terabytes hasta petabytes).
Hadoop se ejecuta en hardware de bajo coste y comercial, y reduce
considerablemente el coste frente a otras alternativas comerciales de
procesamiento y almacenamiento de datos. Es una herramienta básica de los
gigantes de Internet, incluyendo Facebook, Twitter, eBay, eHarmony, Netflix, AOL,
Apple, FourSquare, Hulu, LinkedIn, Tuenti. También es utilizada por grandes
empresas.
Historia.
Entre 2004 y 2006, Google publica los artículos de GFS y MapReduce, y Doug
Cutting, un ingeniero de software que trabajaba en Google, implementa una
versión open source denominada Nutch que se basa en estas dos innovaciones
tecnológicas. En 2006, formalmente aparece Hadoop con su nombre, y se separa
del proyecto Nutch. Entonces, Cutting es contratado por Yahoo!.
Yahoo! fue el primer usuario a gran escala de Hadoop; utiliza Hadoop8 en 42.000
servidores (1200 cabinets) en cuatro centros de datos. Su cluster Hadoop más
grande tiene 4.000 nodos, pero ese número aumentó a 10.000 con la presentación
de Hadoop 2.0.
Componentes.
Hadoop está inspirado en el proyecto de Google File System (GFS) y en el
paradigma de programación MapReduce, el cual consiste en dividir el proceso de
manipulación de los grandes datos en dos tareas (mapper y reducer) para
manipular los datos distribuidos a nodos de un cluster, logrando un alto
paralelismo en el procesamiento. El proyecto Hadoop comprende tres
componentes básicos: Hadoop Distributed File System (HDFS), Hadoop
MapReduce, y Hadoop Common.

MapReduce
MapReduce es un modelo de programación paralela para escribir las aplicaciones
distribuidas de Google para garantizar un proceso eficaz de grandes cantidades
de datos (datos de varios terabytes de juegos), en grandes grupos (miles de
nodos) de hardware básico de manera segura, tolerante a fallos. El programa se
ejecuta en MapReduce Hadoop Apache que es un marco de código abierto.
Hadoop Distributed File System
El Hadoop Distributed File System (HDFS) se basa en el Google File System
(GFS) y proporciona un sistema de ficheros distribuido que está diseñado para
ejecutarse en hardware. Tiene muchas similitudes con los actuales sistemas de
archivos distribuidos. Sin embargo, las diferencias con otros sistemas de ficheros
distribuidos son importantes. Es muy tolerante a errores y está diseñado para ser
instalado en hardware de bajo costo. Proporciona un alto rendimiento en el
acceso a datos de aplicaciones y es adecuado para aplicaciones con grandes
conjuntos de datos.

Aparte de los mencionados dos componentes básicos, Hadoop marco incluye


también los dos módulos siguientes:

 Hadoop común : Estas son las bibliotecas de Java y las utilidades


requeridas por otros módulos Hadoop.

 Hadoop HILO : Este es un marco para la planificación de tareas y


administración de recursos de clúster.
MEJORAS EN LA PROGRAMACION.
PIG Inicialmente desarrollado por Yahoo! para permitir a los usuarios de Hadoop
enfocarse más en analizar todos los conjuntos de datos y dedicar menos tiempo
en construir los programas MapReduce. Tal como su nombre lo indica, al igual que
cualquier cerdo que come cualquier cosa, el lenguaje Pig Latin fue diseñado para
manejar cualquier tipo de dato, y Pig es el ambiente de ejecución donde estos
programas son ejecutados, de manera muy similar a la relación entre la máquina
virtual de Java (JVM) y una aplicación Java.
HIVE: Esta herramienta facilita a Hadoop operar como un almacén de datos (data
warehouse). Superpone estructuras de datos en HDFS; y a continuación, permite
consultas de los datos utilizando una sintaxis similar a SQL, el lenguaje estándar
de bases de datos. Igual que sucede con Pig, las capacidades del núcleo de Hive
son extensibles.
JAQL: Fue donado por IBM a la comunidad de software libre, y es un lenguaje
funcional y declarativo que permite la explotación de datos en formato JSON
diseñado para procesar grandes volúmenes de información. Para explotar el
paralelismo, Jaql reescribe los queries de alto nivel (cuando es necesario) en
queries de "bajo nivel" para distribuirlos como procesos MapReduce.
ZOOKEEPER: es otro proyecto de código abierto de Apache que provee de una
infraestructura centralizada, y de servicios que pueden ser utilizados por
aplicaciones para asegurarse de que los procesos a través de un cluster sean
serializados o sincronizados.
HBASE: Es una base de datos columnar (column-oriented database) que se
ejecuta en HDFS. HBase no soporta SQL, de hecho, HBase no es una base de
datos relacional. Cada tabla contiene filas y columnas como una base de datos
relacional. HBase permite que muchos atributos sean agrupados llamándolos
familias de columnas, de tal manera que los elementos de una familia de
columnas son almacenados en un solo conjunto. Eso es distinto de las bases de
datos relacionales orientadas a filas, donde todas las columnas de una fila dada
son almacenadas en conjunto. Facebook utiliza HBase en su plataforma desde
noviembre del 2010.
LUCENE: Es un proyecto de Apache bastante popular para realizar búsquedas
sobre textos. Lucene provee de librerías para indexación y búsqueda de texto. Ha
sido principalmente utilizado en la implementación de motores de búsqueda. El
concepto a nivel de arquitectura de Lucene es simple, básicamente, los
documentos son divididos en campos de texto, y se genera un índice sobre estos
campos de texto.
OOZIE: Existen varios procesos que son ejecutados en distintos momentos, los
cuales necesitan ser orquestados para satisfacer las necesidades de tan complejo
análisis de información. Oozie es un proyecto de código abierto que simplifica los
flujos de trabajo y la coordinación entre cada uno de los procesos. Permite que el
usuario pueda definir acciones y las dependencias entre dichas acciones.
CASSANDRA: Cassandra es una base de datos no relacional distribuida, y
basada en un modelo de almacenamiento de , desarrollada en Java. Permite
grandes volúmenes de datos en forma distribuida. Twitter es una de las empresas
que utiliza Cassandra dentro de su plataforma.

CARACETRISTICAS:
Capacidad de almacenar y procesar enormes cantidades de cualquier tipo
de datos, al instante. Con el incremento constante de los volúmenes y
variedades de datos, en especial provenientes de medios sociales y la Internet de
las Cosas (IoT), ésa es una consideración importante.
Poder de cómputo. El modelo de cómputo distribuido de Hadoop procesa big
data a gran velocidad. Cuantos más nodos de cómputo utiliza usted, mayor poder
de procesamiento tiene.
Tolerancia a fallos. El procesamiento de datos y aplicaciones está protegido
contra fallos del hardware. Si falla un nodo, los trabajos son redirigidos
automáticamente a otros modos para asegurarse de que no falle el procesamiento
distribuido. Se almacenan múltiples copias de todos los datos de manera
automática.
Flexibilidad. A diferencia de las bases de datos relacionales, no tiene que
procesar previamente los datos antes de almacenarlos. Puede almacenar tantos
datos como desee y decidir cómo utilizarlos más tarde. Eso incluye datos no
estructurados como texto, imágenes y videos.
Bajo costo. La estructura de código abierto es gratuita y emplea hardware
comercial para almacenar grandes cantidades de datos.
Escalabilidad. Puede hacer crecer fácilmente su sistema para que procese más
datos son sólo agregar nodos. Se requiere poca administración.

También podría gustarte