Está en la página 1de 14

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMTICAS Y FSICAS


CARRERA DE INGENIERA EN SISTEMAS COMPUTACIONALES

TRABAJO DE INVESTIGACIN DE
BASE DE DATOS I

TEMA: FRAMEWORK HADDOP Y BASES DE DATOS QUE UTILIZA

Integrantes:
Piza Michell
Armas Jonathan
Ortiz Martin
Parrales Abel

CURSO: ISI-S-MA-4-3
DOCENTE: Ing. Gary Reyes Zambrano
AO LECTIVO
2017-2C
FRAMEWORK HADDOP Y BASES DE DATOS QUE UTILIZA

Qu es Hadoop?

Hadoop es un framework opensource para almacenar datos y ejecutar aplicaciones


en clster de hardware bsicos. Proporciona un almacenamiento masivo para
cualquier tipo de datos, un enorme poder de procesamiento y la capacidad de
manejar tareas o trabajos prcticamente ilimitados. Esto bsicamente y de forma
muy concreta es lo que es hadoop.

HISTORIA DE HADOOP

A medida que la World Wide Web creci a fines de la dcada de 1900 y principios
de la de 2000, los motores de bsqueda y los ndices se crearon para ayudar a
localizar informacin relevante en medio del contenido basado en texto. En los
primeros aos, los resultados de bsqueda fueron devueltos por humanos. Pero a
medida que la web creci de docenas a millones de pginas, se necesitaba
automatizacin. Se crearon rastreadores web, muchos como proyectos de

1
investigacin dirigidos por universidades y arrancaron los motores de bsqueda
(Yahoo, AltaVista, etc.).

Uno de esos proyectos fue un motor de bsqueda web de cdigo abierto llamado
Nutch, una creacin de Doug Cutting y Mike Cafarella. Queran devolver
resultados de bsqueda web ms rpido distribuyendo datos y clculos entre
diferentes computadoras para que se pudieran realizar mltiples tareas
simultneamente. Durante este tiempo, otro proyecto de motor de bsqueda
llamado Google estaba en progreso. Se basaba en el mismo concepto: almacenar y
procesar datos de forma distribuida y automatizada para que los resultados de
bsqueda web relevantes pudieran devolverse ms rpidamente.

En 2006, Cutting se uni a Yahoo y se llev consigo el proyecto Nutch, as como


ideas basadas en los primeros trabajos de Google con la automatizacin del
almacenamiento y procesamiento de datos distribuidos. El proyecto de Nutch se
dividi: la parte del rastreador web permaneci como Nutch y la porcin de
procesamiento y computacin distribuida se convirti en Hadoop (que lleva el
nombre del elefante de juguete del hijo de Cutting). En 2008, Yahoo lanz Hadoop
como un proyecto de cdigo abierto. En la actualidad, la sin fines de lucro Apache
Software Foundation (ASF), una comunidad global de desarrolladores de software
y colaboradores, gestiona y mantiene el marco y el ecosistema de tecnologas de
Hadoop.

IMPORTANCIA

Capacidad para almacenar y procesar grandes cantidades de cualquier tipo


de datos rpidamente. Con volmenes y variedad de datos en constante
aumento, especialmente de lo que se refiere a medios de comunicacin social y
del Internet de las Cosas, esto es una consideracin clave.

2
Poder de procesamiento. El modelo de computacin distribuida de Hadoop
procesa rpidamente Big Data. Cuantos ms nodos de computacin se utilizan,
ms poder de procesamiento tendrs.

Tolerancia a fallos. Los datos y el procesamiento de aplicaciones estn


protegidos contra fallos de hardware. Si un nodo disminuye, los trabajos se
redirigen automticamente a otros nodos para asegurarse de que la computacin
distribuida no falla. Se almacenan automticamente varias copias de todos los
datos.

Flexibilidad. A diferencia de las bases de datos relacionales tradicionales, no es


necesario preprocesar los datos antes de almacenarlos. Puedes almacenar tantos
datos como desees y decidir cmo utilizarlos ms tarde. Esto incluye datos no
estructurados como texto imgenes y vdeo.

Bajo coste. El framework de cdigo abierto es gratuito y utiliza hardware bsico


para almacenar grandes cantidades de datos.

Escalabilidad. Puedes hacer crecer fcilmente el sistema para manejar ms


datos simplemente aadiendo nodos. Se requiere poca administracin.

DESAFIOS DE USAR HADOOP

La programacin con MapReduce no es un buen partido para todos los


problemas. Es bueno para peticiones de informacin simples y problemas que
se pueden dividir en unidades independientes, pero no es eficiente para tareas
analticas, iterativas e interactivas. MapReduce es intensivo en ficheros y los
algoritmos iterativos requieren varias fases de distribucin y ordenacin de
mapas para completar. Esto crea varios archivos entre fases de MapReduce y es
ineficiente para la computacin analtica avanzada.

Existe una brecha de talento ampliamente reconocida. Puede ser difcil


encontrar programadores de nivel que tengan suficientes habilidades de Java
para ser productivos con MapReduce. Esa es una razn por la que los

3
proveedores de las distribuciones compiten para poner la tecnologa relacional
SQL encima de Hadoop. Es mucho ms fcil encontrar programadores con
habilidades de SQL que con habilidades de MapReduce. Y la administracin de
Hadoop parece parte arte y parte ciencia, requiriendo un bajo nivel de
conocimiento de los sistemas operativos, el Hardware y la configuracin del
kernel de Hadoop.

Seguridad de datos. Otro desafo se centra en los problemas de seguridad de


datos fragmentados, aunque estn surgiendo nuevas herramientas y tecnologas.
El protocolo de autenticacin Kerberos es un gran paso hacia la seguridad de los
entornos Hadoop.

Gestin y gobierno de datos. Hadoop no tiene herramientas completas y fciles


de utilizar para la gestin de datos, limpieza de datos, gobernanza y metadatos.
Especialmente carece de herramientas para la calidad de los datos y la
estandarizacin.

CMO SE UTILIZA HADOOP?

Ms all de su objetivo original de buscar millones o miles de millones de pginas


web y devolver resultados relevantes, lo que es y para qu sirve Hadoop es lo que
muchas organizaciones buscan en Hadoop. Las empresa buscan que Hadoop sea
su prxima gran plataforma de datos. Los usos ms populares de hoy en da son:

Almacenamiento y archivo de datos de bajo coste. El modesto coste del


hardware hace que Hadoop sea til para almacenar y combinar datos tales como
datos transaccionales, de redes sociales, de sensores, mquinas, cientficos etc.
El almacenamiento de bajo coste permite mantener informacin que no se
considera actualmente crtica pero que podras necesitar analizar ms adelante.

Sandbox para descubrimiento y anlisis. Debido a que Hadoop fue diseado


para tratar volmenes de datos en una variedad de formas, puede ejecutar
algoritmos analticos. La analtica de Big Data en Hadoop puede ayudar a una

4
organizacin a operar de manera ms eficiente, descubrir nuevas oportunidades
y obtener ventajas competitivas. El enfoque sandbox o de entorno de pruebas
ofrece una oportunidad para innovar con una inversin mnima.

Data lake. Los data lake permiten almacenar datos en su formato original o
exacto, tanto estructurados como sin estructurar, y sin ningn tipo de
procesamiento, con el objetivo de ofrecer una visin sin modificar o sin refinar
de los datos a los analistas de datos para que puedan utilizarlos para descubrir y
analizar. Les ayuda a hacer preguntas nuevas o difciles sin restricciones. Los
data lake no son un reemplazo de los almacenes de datos. De hecho el cmo
asegurar y gobernar data lakes es un tema enorme para IT.

Complementa tu data warehouse. Ya estamos viendo a Hadoop colocndose


junto a entornos de Data Warehouse, as como ciertos conjuntos de datos que
estn siendo descargados del data warehouse a Hadoop, o nuevos tipos de datos
que van directamente a Hadoop. El objetivo final de cada organizacin es contar
con una plataforma para almacenar y procesar datos de diferentes esquemas,
formatos etc., para soportar diferentes casos de uso que se pueden integrar en
diferentes niveles.

IoT y Hadoop. Las cosas en el IoT necesitan saber qu comunicar y cundo


actuar. En el ncleo de la IoT hay un flujo constante de un torrente de datos.
Hadoop es frecuentemente utilizado como almacn de datos para millones o
miles de millones de transacciones. Las capacidades masivas de almacenamiento
y procesamiento tambin te permiten usar Hadoop como una sandbox de
descubrimiento y definicin de patrones para ser monitorizados para
instrucciones prescriptivas. A continuacin puedes mejorar continuamente estas
instrucciones ya que Hadoop se utiliza constantemente con nuevos datos que no
coinciden con los patrones definidos anteriormente.

Actualmente, se incluyen cuatro mdulos bsicos en el marco bsico de la


Fundacin Apache:

5
Hadoop Common : las bibliotecas y utilidades utilizadas por otros
mdulos de Hadoop.
Sistema de archivos distribuidos Hadoop (HDFS) : el sistema escalable
basado en Java que almacena datos en varias mquinas sin organizacin
previa.
YARN - (Sin embargo, otro negociador de recursos) proporciona
administracin de recursos para los procesos que se ejecutan en Hadoop.
MapReduce : un marco de software de procesamiento paralelo. Est
compuesto de dos pasos. Map step es un nodo maestro que toma entradas y
las divide en subproblemas ms pequeos y luego los distribuye a nodos de
trabajadores. Despus de que el paso del mapa ha tenido lugar, el nodo
maestro toma las respuestas a todos los subproblemas y los combina para
producir resultados.

Otros componentes de software que pueden ejecutarse en la parte superior o junto


a Hadoop y que han alcanzado el estado del proyecto Apache de alto nivel
incluyen:

Ambari Una interfaz web para administrar, configurar y probar los servicios y
componentes de Hadoop.
Cassandra Un sistema de base de datos distribuida.
Canal Software que recopila, agrega y mueve grandes cantidades de datos de
artificial transmisin en HDFS.
HBase Una base de datos distribuida no relacional que se ejecuta en la parte superior
de Hadoop. Las tablas HBase pueden servir como entrada y salida para
trabajos de MapReduce.
HCatalog Una tabla y capa de administracin de almacenamiento que ayuda a los
usuarios a compartir y acceder a los datos.
Colmena Un almacenamiento de datos y un lenguaje de consulta similar a SQL que
presenta datos en forma de tablas. La programacin de Hive es similar a la
programacin de bases de datos.
Oozie Un programador de trabajos de Hadoop.

6
Cerdo Una plataforma para manipular datos almacenados en HDFS que incluye un
compilador para los programas MapReduce y un lenguaje de alto nivel
llamado Pig Latin. Proporciona una forma de realizar extracciones de datos,
transformaciones y carga, y anlisis bsico sin tener que escribir programas de
MapReduce.
Solr Una herramienta de bsqueda escalable que incluye indexacin, confiabilidad,
configuracin central, failover y recuperacin.
Chispa Un marco informtico de clster de cdigo abierto con anlisis en memoria.
Sqoop Un mecanismo de conexin y transferencia que mueve datos entre Hadoop y
las bases de datos relacionales.
Zookeeper Una aplicacin que coordina el procesamiento distribuido.

ARQUITECTURA PRINCIPAL DE HADOOP

HDFS es el sistema de almacenamiento, es un sistema de ficheros distribuido. Fue


creado a partir del Google File System (GFS). HDFS se encuentra optimizado
para grandes flujos y trabajar con ficheros grandes en sus lecturas y escrituras. Su
diseo reduce la E/S en la red. La escalabilidad y disponibilidad son otras de sus
claves, gracias a la replicacin de los datos y tolerancia a los fallos. Los elementos
importantes del cluster:

NameNode: Slo hay uno en el cluster. Regula el acceso a los ficheros por
parte de los clientes. Mantiene en memoria la metadata del sistema de
ficheros y control de los bloques de fichero que tiene cada DataNode.

DataNode: Son los responsables de leer y escribir las peticiones de los


clientes. Los ficheros estn formados por bloques, estos se encuentran
replicados en diferentes nodos.

MapReduce es un proceso batch, creado para el proceso distribuido de los datos.


Permite de una forma simple, paralelizar trabajo sobre los grandes volmenes de
datos, como combinar web logs con los datos relacionales de una base de datos
OLTP, de esta forma ver como los usuarios interactan con el website.

7
El modelo de MapReduce simplifica el
procesamiento en paralelo,
abstrayndonos de la complejidad que hay
en los sistemas distribuidos. Bsicamente
las funciones Map transforman un
conjunto de datos a un nmero de
pares key/value. Cada uno de estos
elementos se encontrar ordenado por su
clave, y la funcin reduce es usada para combinar los valores (con la misma clave)
en un mismo resultado.

EL ESCOSISTEMA DE HADOOP

En Hadoop tenemos un
ecosistema muy diverso,
que crece da tras da,
por lo que es difcil
saber de todos los
proyectos que
interactan con Hadoop de alguna forma

Chukwa (http://incubator.apache.org/chukwa/)

Chukwa es un sistema de captura de datos y framework de anlisis que trabaja


con Hadoop para procesar y analizar grandes volmenes de logs. Incluye
herramientas para mostrar y monitorizar los datos capturados.

8
Apache Flume (http://flume.apache.org/)

Apache Flume es
un sistema
distribuido para
capturar de forma
eficiente, agregar y
mover grandes
cuantidades de datos
log de diferentes
orgenes (diferentes
servidores) a un repositorio central, simplificando el proceso de recolectar estos
datos para almacenarlos en Hadoop y poder analizarlos. Flume y Chukwa son
proyectos parecidos, la principal diferencia es que Chukwa est pensado para ser
usado en Batch.

Hive (http://hive.apache.org/)

Hive es un sistema de Data Warehouse para Hadoop que facilita el uso de la


agregacin de los datos, ad-hoc queries, y el anlisis de grandes datasets
almacenados en Hadoop. Hive proporciona mtodos de consulta de los datos
usando un lenguaje parecido al SQL, llamado HiveQL. Adems permite de usar
los tradicionales Map/Reduce cuando el rendimiento no es el correcto. Tiene
interfaces JDBC/ODBC, por lo que empieza a funcionar su integracin con
herramientas de BI.

9
Apache HBase (http://hbase.apache.org/)

HBase, se trata de la base de datos de


Hadoop. HBase es el componente de
Hadoop a usar, cuando se requiere
escrituras/lecturas en tiempo real y
acceso aleatorio para grandes
conjuntos de datos. Es una base de
datos orientada a la columna, eso
quiere decir que no sigue el esquema
relacional. No admite SQL.

Apache Mahout (http://mahout.apache.org/)

Apache Mahout, es un proyecto para crear aprendizaje automtico y data mining


usando Hadoop. Es decir, Mahout nos puede ayudar a descubrir patrones en
grandes datasets.

Tiene algoritmos de recomendacin, clustering y clasificacin.

Apache Sqoop (http://sqoop.apache.org/)

Apache Sqoop (Sql-to-


Hadoop), es una
herramienta diseada para
transferir de forma eficiente
bulk data entre Hadoop y
sistemas de
almacenamiento con datos
estructurados, como bases de
datos relacionales. Algunas de sus caractersticas son:

Permite importar tablas individuales o bases de datos enteras a HDFS.

Genera clases Java que permiten interactuar con los datos importados.

Adems, permite importar de las bases de datos SQL a Hive.

10
Apache ZooKeeper (http://zookeeper.apache.org/)

Zookeeper es un
proyecto de Apache que
proporciona una
infraestructura
centralizada y de servicios
que permiten la
sincronizacin del cluster.
ZooKeeper mantiene
objetos comunes que se
necesiten en grandes
entornos de cluster. Algunos ejemplos de estos objetos son informacin de la
configuracin, jerarqua de nombres

Apache Lucene (http://lucene.apache.org/core/)

Lucene, se trata de una librera escrita en Java, para buscar textos. Lucene permite
indexar cualquier texto que deseemos, permitindonos despus encontrarlos
basados en cualquier criterio de bsqueda. Aunque Lucene slo funciona en texto
plano, hay plugins que permite la indexacin y bsqueda de contenido en
documentos Word, Pdf, XML o pginas HTML.

Apache Pig (http://pig.apache.org/)

Apache Pig, inicialmente desarrollado por Yahoo, permite a los usuarios de


Hadoop centrarse ms en el anlisis de los datos y menos en la creacin de
programas MapReduce. Para simplificar el anlisis proporciona un lenguaje
procedural de alto nivel. Su nombre viene de la siguiente analoga, al igual que los
cerdos comen de todo, el lenguaje de programacin Pig est pensado para poder
trabajar en cualquier tipo de datos. Pig consta de dos componentes:

El lenguaje en si, llamado PigLatin.

El entorno de ejecucin, donde los programas PigLatin se ejecutan.

11
Jaql (https://code.google.com/p/jaql/)

Jaql es un lenguaje de consulta funcional y declarativo que facilita la explotacin


de informacin organizada en formato JSON (JavaScript Object Notation), e
incluso en archivos semi-estructurados de texto plano. Diseado inicialmente por
IBM. Jaql permite hacer select, join, group y filtrar datos almacenados en HDFS.
El objetivo de Jaql es que el desarrollador de aplicaciones de Hadoop pueda
concentrarse en qu quiere obtener, y no en cmo lo tenga que obtener. Jaql analiza
la lgica y la distribuye en Map y Reduce segn sea necesario.

Apache Avro (http://avro.apache.org/)

Avro, es un sistema de serializacin de datos. En los proyectos en Hadoop, suele


haber grandes cuantidades de datos, la serializacin se usa para procesarlos y
almacenar estos datos, de forma que el rendimiento en tiempo sea efectivo. Esta
serializacin puede ser en texto en plano, JSON, en formato binario. Con Avro
podemos almacenar y leer los datos fcilmente desde diferentes lenguajes de
programacin. Est optimizado para minimizar el espacio en disco necesario para
nuestros datos.

Apache UIMA (http://uima.apache.org/)

UIMA (Unstructured Information Management Applications) es un framework


para analizar grandes volmenes de datos no estructurados, como texto, video,
datos de audio, etc y obtener conocimiento que sea relevante para el usuario
final. Por ejemplo a partir de un fichero plano, poder descubrir que entidades son
personas, lugares, organizaciones, etc

12
BIBLIOGRAFA

ABDULLAH, IBRAHIM BIN. 2010. Incremental pagerank for twitter data using
hadoop. Diss. Masters thesis. Edinburgh : s.n., 2010.
BORTHAKUR, D., et al. 2011. Apache Hadoop goes realtime at Facebook. [ed.] ACM.
s.l. : Proceedings of the 2011 ACM SIGMOD International Conference on Management
of data, 2011. pp. 1071-1080.
SARKAR, DEBARCHAN. 2013. Microsoft SQL Server 2012 with Hadoop. s.l. : Packt
Publishing Ltd, 2013.
GHEMAWAT, SANJAY, HOWARD, GOBIOFF AND SHUN-TAK, LEUNG.
2003. The Google file system. s.l. : ACM SIGOPS Operating Systems Review, 2003. Vol.
37.
DITTRICH, J. AND QUIAN-RUIZ, J. A. 2012. Efficient big data processing in Hadoop
MapReduce. s.l. : VLDB, 2012.
GHEMAWAT, SANJAY, HOWARD, GOBIOFF AND SHUN-TAK, LEUNG.
2003. The Google file system. s.l. : ACM SIGOPS Operating Systems Review, 2003. Vol.
37.
LEE, K., et al. 2012. Parallel data processing with MapReduce: a survey. s.l. : AcM
sIGMoD Record, 2012. pp. 11-20.

13

También podría gustarte