ANÁLISIS Y DESARROLLO DE UNA PLATAFORMA BIG DATA … · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA...

153
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) GRADO EN INGENIERÍA TELEMÁTICA ANÁLISIS Y DESARROLLO DE UNA PLATAFORMA BIG DATA Autor: Leticia de la Cierva Perreau de Pinninck Directores: Mario Tenés y Sonia García Madrid Julio 2015

Transcript of ANÁLISIS Y DESARROLLO DE UNA PLATAFORMA BIG DATA … · ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA...

 

 

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

GRADO EN INGENIERÍA TELEMÁTICA  

 

 

ANÁLISIS Y DESARROLLO DE UNA PLATAFORMA BIG DATA

 

 

Autor: Leticia de la Cierva Perreau de Pinninck

Directores: Mario Tenés y Sonia García

Madrid

Julio 2015  

 

 

Autorizada la entrega del proyecto del alumno/a:

Leticia de la Cierva Perreau de Pinninck

LOS DIRECTORES DEL PROYECTO

Mario Tenés Sonia García

Fdo.: …………………… Fecha: ……/……/……

Vº Bº del Coordinador de Proyectos

David Contreras Bárcena

Fdo.: …………………… Fecha: ……/……/……

 

 

   

 

AUTORIZACIÓN   PARA   LA   DIGITALIZACIÓN,   DEPÓSITO   Y   DIVULGACIÓN   EN  

ACCESO  ABIERTO  (RESTRINGIDO)  DE  DOCUMENTACIÓN  

 

1º.  Declaración  de  la  autoría  y  acreditación  de  la  misma.  

El   autor   Dña.   Leticia   de   la   Cierva   Perreau   de   Pinninck,   como   alumna   de   la  

UNIVERSIDAD  PONTIFICIA  COMILLAS  (COMILLAS),  DECLARA  que  es  el  titular  de  

los  derechos  de  propiedad  intelectual,  objeto  de  la  presente  cesión,  en  relación  con  

la   obra   Trabajo   de   fin   de   grado:  Análisis   y   desarrollo   de   una   plataforma   Big  

Data   que   ésta   es   una   obra   original,   y   que   ostenta   la   condición   de   autor   en   el  

sentido  que  otorga  la  Ley  de  Propiedad  Intelectual  como  titular  único  o  cotitular  de  

la  obra.    

En   caso   de   ser   cotitular,   el   autor   (firmante)   declara   asimismo  que   cuenta   con   el  

consentimiento  de  los  restantes  titulares  para  hacer  la  presente  cesión.  En  caso  de  

previa  cesión  a  terceros  de  derechos  de  explotación  de  la  obra,  el  autor  declara  que  

tiene   la  oportuna  autorización  de  dichos   titulares  de  derechos  a   los   fines  de  esta  

cesión  o  bien  que  retiene  la  facultad  de  ceder  estos  derechos  en  la  forma  prevista  

en  la  presente  cesión  y  así  lo  acredita.    

 

2º.  Objeto  y  fines  de  la  cesión.  

Con   el   fin   de   dar   la   máxima   difusión   a   la   obra   citada   a   través   del   Repositorio  

institucional   de   la   Universidad     y   hacer   posible   su   utilización   de   forma   libre   y  

gratuita  (  con  las  limitaciones  que  más  adelante  se  detallan)    por  todos  los  usuarios  

del   repositorio   y   del   portal   e-­‐ciencia,   el   autor   CEDE   a   la   Universidad   Pontificia  

Comillas  de  forma  gratuita  y  no  exclusiva,  por  el  máximo  plazo  legal  y  con  ámbito  

universal,   los   derechos   de   digitalización,   de     archivo,   de   reproducción,   de  

distribución,  de  comunicación  pública,  incluido  el  derecho  de  puesta  a  disposición  

electrónica,  tal  y  como  se  describen  en  la  Ley  de  Propiedad  Intelectual.  El  derecho  

de   transformación  se  cede  a   los  únicos  efectos  de   lo  dispuesto  en   la   letra   (a)  del  

apartado  siguiente.    

   

 

 

3º.  Condiciones  de  la  cesión.  

Sin  perjuicio  de  la  titularidad  de  la  obra,  que  sigue  correspondiendo  a  su  autor,  la  

cesión  de  derechos  contemplada  en  esta  licencia,  el  repositorio  institucional  podrá:    

(a)   Transformarla   para   adaptarla   a   cualquier   tecnología   susceptible   de  

incorporarla  a  internet;  realizar  adaptaciones  para  hacer  posible  la  utilización  de  la  

obra   en   formatos   electrónicos,   así   como   incorporar   metadatos   para   realizar   el  

registro   de   la   obra   e   incorporar   “marcas   de   agua”   o   cualquier   otro   sistema   de  

seguridad  o  de  protección.    

(b)  Reproducirla  en  un  soporte  digital  para  su  incorporación  a  una  base  de  datos  

electrónica,   incluyendo   el   derecho   de   reproducir   y   almacenar   la   obra   en  

servidores,   a   los   efectos   de   garantizar   su   seguridad,   conservación   y   preservar   el  

formato.  .    

(c)  Comunicarla  y  ponerla  a  disposición  del  público  a  través  de  un  archivo  abierto  

institucional,  accesible  de  modo  libre  y  gratuito  a  través  de  internet.1    

(d)  Distribuir  copias  electrónicas  de  la  obra  a  los  usuarios  en  un  soporte  digital.  2  

 

4º.  Derechos  del  autor.  

El  autor,  en  tanto  que  titular  de  una  obra  que  cede  con  carácter  no  exclusivo  a   la  

Universidad  por  medio  de  su  registro  en  el  Repositorio  Institucional  tiene  derecho  

a:  

a)   A   que   la   Universidad   identifique   claramente   su   nombre   como   el   autor   o  

propietario  de  los  derechos  del  documento.    

b)   Comunicar   y   dar   publicidad   a   la   obra   en   la   versión   que   ceda   y   en   otras  

posteriores  a  través  de  cualquier  medio.  

                                                                                                               1  En  el  supuesto  de  que  el  autor  opte  por  el  acceso  restringido,  este  apartado  quedaría  redactado  en  los  siguientes  términos:  (c)  Comunicarla  y  ponerla  a  disposición  del  público  a  través  de  un  archivo  institucional,  accesible  de  modo  restringido,  en  los  términos  previstos  en  el  Reglamento  del  Repositorio  Institucional    2  En  el  supuesto  de  que  el  autor  opte  por  el  acceso  restringido,  este  apartado  quedaría  eliminado.  

   

 

c)   Solicitar   la   retirada   de   la   obra   del   repositorio   por   causa   justificada.   A   tal   fin  

deberá   ponerse   en   contacto   con   el   vicerrector/a   de   investigación  

([email protected]).  

d)   Autorizar   expresamente   a   COMILLAS   para,   en   su   caso,   realizar   los   trámites  

necesarios  para  la  obtención  del  ISBN.    

d)  Recibir  notificación   fehaciente  de   cualquier   reclamación  que  puedan   formular  

terceras   personas   en   relación   con   la   obra   y,   en   particular,   de   reclamaciones  

relativas  a  los  derechos  de  propiedad  intelectual  sobre  ella.  

 

5º.  Deberes  del  autor.  

El  autor  se  compromete  a:  

a)   Garantizar   que   el   compromiso   que   adquiere   mediante   el   presente   escrito   no  

infringe  ningún  derecho  de  terceros,  ya  sean  de  propiedad  industrial,  intelectual  o  

cualquier  otro.    

b)  Garantizar  que  el  contenido  de  las  obras  no  atenta  contra  los  derechos  al  honor,  

a  la  intimidad  y  a  la  imagen  de  terceros.  

c)   Asumir     toda   reclamación   o   responsabilidad,   incluyendo   las   indemnizaciones  

por  daños,  que  pudieran  ejercitarse  contra  la  Universidad  por  terceros  que  vieran  

infringidos  sus  derechos  e  intereses  a  causa  de  la  cesión.  

d)  Asumir  la  responsabilidad  en  el  caso  de  que  las  instituciones  fueran  condenadas  

por  infracción  de  derechos  derivada  de  las  obras  objeto  de  la  cesión.  

 

6º.  Fines  y  funcionamiento  del  Repositorio  Institucional.  

La  obra  se  pondrá  a  disposición  de  los  usuarios  para  que  hagan  de  ella  un  uso  justo  

y   respetuoso   con   los   derechos   del   autor,   según   lo   permitido   por   la   legislación  

aplicable,  y  con  fines  de  estudio,  investigación,  o  cualquier  otro  fin  lícito.    Con  dicha  

finalidad,   la  Universidad  asume   los  siguientes  deberes  y  se  reserva   las  siguientes  

facultades:  

   

 

a) Deberes  del  repositorio  Institucional:  

-­‐  La  Universidad  informará  a  los  usuarios  del  archivo  sobre  los  usos  permitidos,  y  

no  garantiza  ni  asume  responsabilidad  alguna  por  otras  formas  en  que  los  usuarios  

hagan  un  uso  posterior  de  las  obras  no  conforme  con  la  legislación  vigente.  El  uso  

posterior,   más   allá   de   la   copia   privada,   requerirá   que   se   cite   la   fuente   y   se  

reconozca   la  autoría,  que  no  se  obtenga  beneficio  comercial,  y  que  no  se  realicen  

obras  derivadas.  

-­‐   La   Universidad   no   revisará   el   contenido   de   las   obras,   que   en   todo   caso  

permanecerá   bajo   la   responsabilidad   exclusiva   del   autor   y     no   estará   obligada   a  

ejercitar   acciones   legales   en   nombre   del   autor   en   el   supuesto   de   infracciones   a  

derechos  de  propiedad  intelectual  derivados  del  depósito  y  archivo  de  las  obras.  El  

autor  renuncia  a  cualquier  reclamación  frente  a   la  Universidad  por   las   formas  no  

ajustadas  a  la  legislación  vigente  en  que  los  usuarios  hagan  uso  de  las  obras.  

-­‐  La    Universidad  adoptará  las  medidas  necesarias  para  la  preservación  de  la  obra    

en  un  futuro.  

b)  Derechos  que  se  reserva  el  Repositorio  institucional  respecto  de  las  obras  en  él  

registradas:  

-­‐   retirar   la   obra,   previa   notificación   al   autor,   en   supuestos   suficientemente  

justificados,  o  en  caso  de  reclamaciones  de  terceros.    

 

Madrid,  a  16  de  Julio  de  2015    

 

 

ACEPTA  

 

 

 

Fdo.……………………………………………………………  

   

 

   

 

 

 

 

 

 

   

   

 

 

 

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

GRADO EN INGENIERÍA TELEMÁTICA

 

 

ANÁLISIS Y DESARROLLO DE UNA PLATAFORMA BIG DATA

 

 

Autor: Leticia de la Cierva Perreau de Pinninck

Directores: Mario Tenés y Sonia García

Madrid

Julio 2015

   

 

 

   

   

 

Agradecimientos    

 

En   primer   lugar   quería   agradecer   a   la   empresa   VASS   por   brindarme   la  

oportunidad  de  realizar  este  proyecto,  del  que  tanto  he  aprendido.  

 

En  especial  a  Mario  y  a  Sonia,  por  la  gran  ayuda  que  me  han  ofrecido.  

 

Gracias  a  mis  compañeros  y  amigos  por  ayudarme  en  los  momentos  más  críticos.  

 

A  mis  amigas,  porque  siempre  están  ahí  cuando  las  necesito.  

 

A  Natalia,  porque  su  compañía  y  alegría  son  insustituibles.  

 

A  mis  padres  y  hermano,  porque  gracias  a  ellos  no  habría  llegado  a  ser  como  soy.  

 

A  Pablo,  siempre.  

   

   

 

     

   

 

ANÁLISIS Y DESARROLLO DE UNA PLATAFORMA BIG DATA

Autor: de la Cierva Perreau de Pinninck, Leticia Director: Sonia García, Mario Tenés Entidad Colaboradora: VASS RESUMEN DEL PROYECTO Tras la realización de un estudio de las principales distribuciones open-source de Big

Data- Hortonworks, Cloudera y MapR- se realiza una comparativa entre ellas para

luego seleccionar la que mejor convenga para el desarrollo de una plataforma en

particular. Cloudera será óptima para analizar datos de Twitter con herramientas

Hadoop: Flume para la recolección, HDFS para el almacenamiento, MapReduce para

el procesamiento, Hive para la consulta y Tableau para la visualización.

Palabras clave: Big Data, open-source, Hadoop, Cloudera, Twitter. 1. Introducción

Con el crecimiento exponencial de la cantidad de datos existentes, sumado a la

variedad de sus procedencias, que conlleva una amplia variedad de estructuras o

incluso a la falta de estructura, hace necesaria la existencia de una tecnología capaz de

tratar dichos datos a una velocidad adecuada, de forma que se pueda obtener de dichos

datos una información que proporcione valor a quien la analiza. Es en este contexto en

el que surge la tecnología Big Data.

Los expertos de Forrester definen el Big Data como “un conjunto de técnicas y

tecnologías que permiten manejar datos a una escala extrema y de una forma

asequible”.

Por lo tanto, para que una gran cantidad de datos se considere Big Data, se deben

cumplir los siguientes requisitos, denominados 3Vs:

ü Volumen, que puede ascender hasta los petabytes. ü Velocidad, acercándose lo más que se pueda al procesamiento en streaming. ü Variedad en la estructura de los datos, incluso llegando a la carencia de ella.

   

 

Una vez se haya considerado un conjunto de datos como Big Data, será necesario

definir la arquitectura del sistema, basada en las cinco capas típicas de los sistemas de

análisis de información, mostradas en el siguiente diagrama.

 

Figura 1. Arquitectura Big Data

Dentro de la tecnología que se ha desarrollado para analizar Big Data se encuentra la

más conocida, Hadoop. Se trata de una plataforma software que provee

almacenamiento distribuido y capacidades computacionales bajo una licencia libre.

Hadoop se divide en dos componentes principales: HDFS para almacenamiento

distribuido y MapReduce para capacidades computacionales, ambos basados en un

modelo maestro-esclavo.

Aparte de estas dos herramientas principales, en el ecosistema de Hadoop se han

desarrollado una gran cantidad de herramientas para las distintas capas de la

arquitectura para análisis de datos de Big Data.

2. Definición del proyecto

Con los nuevos desarrollos existentes acerca de la tecnología Big Data, se va a realizar

un análisis de las principales distribuciones de Hadoop open-source existentes en el

mercado según las consideraciones de los expertos.

Según las conclusiones que se obtengan, se desarrollará una plataforma, para un caso

de uso específico, utilizando la distribución que se considere con mejores capacidades

para abordar el mismo y que permita conocer a fondo las tecnologías propias del

ecosistema.

   

 

Para poder desarrollar esta plataforma, será necesario en primer lugar definir una

arquitectura que cubra los requisitos necesarios para que el análisis de la información

requerida sea completo, así como el entorno de trabajo que se va a emplear.

Una vez se haya diseñado la plataforma, se procederá a la implementación de la

misma, obteniendo así unos resultados particulares.

3. Descripción de la plataforma

Una vez realizado el análisis de las distribuciones, se considera que cada una de ellas

posee unas características diferentes y que, en función del uso que se le desee dar, esas

características hacen que cada distribución sea óptima.

Para el caso específico que se va a desarrollar, que consiste en la obtención de datos de

la red social Twitter para extraer conclusiones acerca de los datos obtenidos, se

considera que la mejor opción es la distribución Cloudera, ya que se trata de una

distribución que ofrece un alto rendimiento y una gran capacidad para dar soporte

debido a que es la distribución que lleva más tiempo en el mercado y por lo tanto tiene

una comunidad que la respalda mucho mayor; además, los análisis anuales que

realizan los expertos en la materia, la consideran como la mejor distribución del

mercado.

Para el diseño de la plataforma será necesario definir herramientas que cubran todas

las capas de la arquitectura mencionada.

Como se puede observar en el siguiente diagrama, la recolección de datos se realiza

con Flume, que extrae los datos de Twitter, y los deposita en el sistema de ficheros

HDFS. Estos datos se procesan con MapReduce y se vuelven a almacenar para que

Hive, a través de su lenguaje de consultas, sea capaz de crear tablas que puedan ser

representadas en gráficos gracias a Tableau.

   

 

4. Resultados

Tras el desarrollo de la plataforma, se observa que se pueden extraer múltiples gráficos

que representen la información obtenida en una gran variedad de formas, por lo que

gracias a esta plataforma se podrán realizar análisis exhaustivos de información

procedente de las redes sociales que permitan extraer patrones y conclusiones que

pueden llegar a ser de gran interés.

Se adjuntan algunos ejemplos de gráficos que se pueden extraer de la plataforma.

Figura 2. Arquitectura del sistema

   

 

 

Figura 3. Gráficos de ejemplo extraídos de la plataforma

5. Conclusiones

Tras el conocimiento obtenido acerca de esta tecnología se puede concluir que es de

gran utilidad en la sociedad actual, que cada vez posee más datos y mayor necesidad

de extraer un valor de ellos.

Es por ello, que la plataforma con el caso de uso particular que se ha desarrollado se

considera de gran utilidad para poder realizar dichos análisis estadísticos que permitan

conocer mejor el comportamiento de los usuarios en la red social Twitter.

Además, esta plataforma permite realizar en un futuro un análisis más profundo, por

ejemplo introduciendo el análisis de sentimiento, que conlleve a unos resultados más

detallados sobre la información.

   

   

 

ANALYSIS AND IMPLEMENTATION OF A BIG DATA

PLATFORM

Author: de la Cierva Perreau de Pinninck, Leticia Director: Sonia García, Mario Tenés Collaborative entity: VASS SUMMARY After a study of the best open-source solutions for Big Data in the market-

Hortonworks, Cloudera and MapR-, a comparative between then is done to choose the

best solution for a platform development. Cloudera is chosen to analyze Twitter data

with Hadoop tools: Flume for collection, HDFS for storage, MapReduce for

processing, Hive for querying and Tableau for display.

Key Words: Big Data, open-source, Hadoop, Cloudera, Twitter. 1. Introduction

Taking into account the amounts of data existing and the variety of its sources

(sometimes with different data structures or none at all), it is necessary a technology

able to process these data at a reasonable speed with the objective of getting value out

of the information. This technology is called Big Data.

Experts in Forrester define Big Data as a group of techniques and technologies that

allow handling large amounts of data in a simple way.

For a set of data to be considered Big Data, the following requirements must be met:

• Volume can be up to petabytes. • Velocity is close to streaming processing. • Variety in the data structure.

After a data set is considered as Big Data, defining the systems architecture will be

needed. It will be based in the five common layers used in this kind of system, seen on

the following diagram.

   

 

 

Figure 1. Big Data architecture

The technology used to analyze big data is Hadoop, the most known solution. It is a

software platform that allows parallel processing and storage under an open license.

Hadoop is divided in two main components: HDFS for distributed storage and

MapReduce for processing, both based in a master-slave model.

Apart from these main tools, the Hadoop ecosystem has been completed with a great

variety of tools in different layers that allow Big Data analysis.

2. Project definition

With the new existing developments in Big Data, an analysis is done of the main

Hadoop distributions existing in the market.

The results obtained from this analysis will be used to develop a platform using the

best distribution possible.

In order to develop this platform an architecture definition will be needed, and it must

meet the necessary requirements to allow complete data analysis.

After the design, implementation of the platform will be done obtaining results that

will be analyzed.

   

 

3. Platform description

The use case that is going to be developed starts by obtaining Twitter data to extract

conclusions about the data generated. The distribution chosen is Cloudera, since it is

considered the best possible choice for the use case. It offers high performance and a

great capacity to give support since it is the oldest distribution in the market. Experts

consider Cloudera as the best solution in the market.

A set of tools will be needed in the platform to cover all the layers mentioned in the

architecture.

As it can be seen on the following diagram, data collection will be done with Flume,

which extracts the data from Twitter and introduces them into Hadoop file system,

HDFS. This data is processed with MapReduce and is back stored into HDFS, so it

can be queried by Hive and represented in graphs thanks to Tableau.

Figure 2. System architecture

   

 

4. Results

After the platform has been developed, multiple data can be obtained and represented

in graphs. Thanks to the platform data can be used to perform analysis in order to

extract patterns and conclusions.

Some examples are shown in the following image:

 

Figure 3. Graphs extracted from the platform

 

5. Conclusions

With all the work done it can be concluded that Big Data is a great asset to a society

that has more data every day and more need of obtaining value out of it.

This is why the platform developed with the use case specified is considered of great

utility to perform statistical analysis that allows a better knowledge of user’s behavior.

Besides, this platform allows future deep analysis, resulting in better-detailed results

about the information.

 

 

 

   

 

   

     

ÍNDICE  DE  LA  MEMORIA    

  I  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

Índice  de  la  memoria  Capítulo  1   Introducción  ....................................................................................................  3  

1.1   Motivación  ..........................................................................................................................  5  

1.2   Estructura  del  documento  .............................................................................................  6  

1.3   Definición  de  Big  Data  .....................................................................................................  7  

1.4   Arquitectura  .......................................................................................................................  8  

Capítulo  2   Estado  de  la  tecnología  ..............................................................................  13  

2.1   Retos  del  Big  Data  ...........................................................................................................  13  

2.2   Tipos  de  distribuciones  Big  Data  ..............................................................................  15  2.2.1  Solución  Pure  Open-­‐Source  ......................................................................................................................  15  2.2.2  Solución  de  Propietario  ..............................................................................................................................  16  

2.3   Tecnologías  sobre  las  que  se  apoya  el  Big  Data  ...................................................  18  2.3.1  Bases  de  Datos  ...............................................................................................................................................  19  2.3.1.1  NoSQL  .......................................................................................................................................................  19  

2.3.2  Hadoop  ..............................................................................................................................................................  20  2.3.2.1  Hadoop  Distributed  File  System  (HDFS)  ...................................................................................  21  2.3.2.2  MapReduce  .............................................................................................................................................  23  2.3.2.3  Limitaciones  de  Hadoop  ...................................................................................................................  25  2.3.2.4  Hadoop  2.0  .............................................................................................................................................  25  2.3.2.5  Federación  HDFS  .................................................................................................................................  26  2.3.2.6  YARN  .........................................................................................................................................................  26  2.3.2.7  Ecosistema  de  Hadoop  ......................................................................................................................  28  

Capítulo  3   Definición  del  Trabajo  ................................................................................  31  

3.1   Objetivos  ............................................................................................................................  31  

3.2   Metodología  y  planificación  ........................................................................................  32  

Capítulo  4   Análisis  de  las  Distribuciones  ..................................................................  35  

4.1   Hortonworks  ....................................................................................................................  35  4.1.1  Hadoop  Data  Platform  (HDP)  ..................................................................................................................  36  4.1.1.1  Gestión  de  datos  ...................................................................................................................................  37  

     

ÍNDICE  DE  LA  MEMORIA    

  II  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

4.1.1.2  Acceso  de  datos  ....................................................................................................................................  37  4.1.1.3  Gobernanza  de  datos  e  integración  .............................................................................................  38  4.1.1.4  Seguridad  ................................................................................................................................................  39  4.1.1.5  Operaciones  ...........................................................................................................................................  40  4.1.1.6  Herramientas  HDP  ..............................................................................................................................  40  

4.2   Cloudera  ............................................................................................................................  41  4.2.1  Cloudera  Distribution  of  Hadoop  (CDH)  .............................................................................................  42  4.2.1.1  Cloudera  Impala  ...................................................................................................................................  45  4.2.1.2  Cloudera  Search  ...................................................................................................................................  45  

4.2.2  Cloudera  Manager  ........................................................................................................................................  46  4.2.3  Cloudera  Navigator  ......................................................................................................................................  46  

4.3   MapR  ...................................................................................................................................  47  4.3.1  MapR-­‐FS  ............................................................................................................................................................  50  4.3.2  Direct  Access  NFS  .........................................................................................................................................  51  4.3.3  Heatmap  ............................................................................................................................................................  51  

4.4   Comparativa  .....................................................................................................................  52  4.4.1  Comparativa  de  herramientas  ................................................................................................................  52  4.4.2  Comparativa  de  productividad  ...............................................................................................................  54  4.4.3  Comparativa  de  tolerancia  a  fallos  ........................................................................................................  55  4.4.4  Comparativa  de  rendimiento  ...................................................................................................................  56  4.4.5  Comparativa  resumen  ................................................................................................................................  57  4.4.6  Otras  comparativas  ......................................................................................................................................  59  4.4.7  Conclusiones  ...................................................................................................................................................  62  

Capítulo  5   Diseño  de  la  plataforma  ............................................................................  65  

5.1   Descripción  del  caso  de  uso  ........................................................................................  65  

5.2   Entorno  de  trabajo  real  ................................................................................................  67  

5.3   Entorno  de  trabajo  de  laboratorio  ...........................................................................  68  

5.4   Diseño  de  la  plataforma  ...............................................................................................  68  

Capítulo  6   Implementación  de  la  plataforma  .........................................................  73  

6.1   Recolección  de  datos  .....................................................................................................  74  6.1.1  Configuración  .................................................................................................................................................  76  6.1.2  Ejecución  ..........................................................................................................................................................  77  

     

ÍNDICE  DE  LA  MEMORIA    

  III  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

6.2   Almacenamiento  de  datos  ...........................................................................................  78  

6.3   Procesamiento  de  datos  ...............................................................................................  79  6.3.1  Configuración  .................................................................................................................................................  80  6.3.2  Ejecución  ..........................................................................................................................................................  82  

6.4   Consulta  de  datos  ...........................................................................................................  83  6.4.1  Configuración  .................................................................................................................................................  84  

6.5   Visualización  de  datos  ..................................................................................................  85  6.5.1  Configuración  .................................................................................................................................................  86  

Capítulo  7   Análisis  de  resultados  ................................................................................  93  

7.1   Resultados  de  las  ejecuciones  de  las  herramientas  ............................................  93  7.1.1  Resultados  de  Flume  ...................................................................................................................................  93  7.1.2  Resultados  de  HDFS  .....................................................................................................................................  94  7.1.3  Resultados  de  MapReduce  ........................................................................................................................  95  7.1.4  Resultados  de  Hive  .......................................................................................................................................  99  

7.2   Visualización  de  gráficos  ..........................................................................................  102  

Capítulo  8   Conclusiones  y  líneas  futuras  ...............................................................  109  

BIBLIOGRAFÍA  .....................................................................................................................  111  

ANEXO A   115  

8.1   Requisitos  previos  a  la  instalación  ........................................................................  115  8.1.1  Sistema  operativo  ......................................................................................................................................  116  8.1.2  Nodos  ..............................................................................................................................................................  116  

8.2   Instalación  de  Cloudera  Manager  ..........................................................................  116  8.2.1  Camino  A  ........................................................................................................................................................  117  

8.3   Configuración  Cloudera  Manager  ..........................................................................  117  

 

 

 

 

 

     

ÍNDICE  DE  LA  MEMORIA    

  IV  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

 

ÍNDICE  DE  FIGURAS    

  V  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

Índice  de  figuras  Figura  1.  El  almacenamiento  de  información  ha  crecido  significativamente  en  

los  últimos  años  [1]  ....................................................................................................................  4  

Figura  2.  Hype-­‐cycle  de  Gartner  de  tecnologías  en  2014  ..........................................  4  

Figura  3.  Arquitectura  Big  Data  ............................................................................................  9  

Figura  4.  Tipos  de  Big  Data  a  recolectar  [4]  ...................................................................  10  

Figura  5.  Arquitectura  de  Hadoop  [2]  ..............................................................................  21  

Figura  7.  Funcionamiento  MapReduce  ............................................................................  24  

Figura  8.  Hadoop  1  vs  Hadoop  2  [8]  ..................................................................................  25  

Figura  9.  Arquitectura  YARN  [11]  ......................................................................................  27  

Figura  10.  Hadoop  y  su  ecosistema  [2]  ............................................................................  28  

Figura  11.  Cronograma  ...........................................................................................................  33  

Figura  12.  Logo  Hortonworks  [14]  ....................................................................................  35  

Figura  13.  Arquitectura  HDP  [14]  ......................................................................................  36  

Figura  14.  Gestión  de  datos  [14]  .........................................................................................  37  

Figura  15.  Acceso  de  datos  [14]  ..........................................................................................  38  

Figura  16.  Gobernanza  de  datos  e  integración  [14]  ...................................................  39  

Figura  17.  Seguridad  [14]  ......................................................................................................  39  

Figura  18.  Operaciones  [14]  .................................................................................................  40  

Figura  19.  Hortonworks  Data  Platform  2.2  [13]  ..........................................................  41  

Figura  20.  Logo  Cloudera  [15]  .............................................................................................  41  

Figura  21.  Arquitectura  de  CDH  [16]  ................................................................................  42  

Figura  22.  Servicios  de    Cloudera  Manager  [20]  ..........................................................  46  

Figura  23.  Servicios  de  Cloudera  Navigator  [20]  .........................................................  47  

Figura  24.  Logo  MapR  [22]  ....................................................................................................  47  

Figura  25.  MapR  Heatmap  [25]  ...........................................................................................  52  

 

ÍNDICE  DE  FIGURAS    

  VI  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

Figura  26.  Cuadrante  mágico  de  Gartner  de  soluciones  de  Data  Warehouse  y  

Data  Management  [26]  ...........................................................................................................  61  

Figura  27.  Forrester  Wave  sobre  soluciones  Big  Data  Hadoop  [27]  ...................  62  

Figura  28.  Logo  Flume  [5]  .....................................................................................................  69  

Figura  31.  Logo  Hive  [6]  .........................................................................................................  70  

Figura  32.  Logo  Tableau  [7]  ..................................................................................................  71  

Figura  34.  Servicios  que  gestiona  Cloudera  Manager  ...............................................  74  

Figura  35.  Sistema  de  ficheros  HDFS  ................................................................................  78  

Figura  36.  Configuración  del  sistema  DSN  para  el  servidor  de  Hive  ..................  87  

Figura  37.  Pantalla  inicial  de  Tableau  ..............................................................................  88  

Figura  38.  Tablas  de  Hive  ......................................................................................................  89  

Figura  39.  Pantalla  de  creación  de  gráficos  de  Tableau  ...........................................  90  

Figura  40.  Asignación  de  filas  y  columnas  para  el  gráfico  .......................................  90  

Figura  41.  Ejecución  del  agente  de  Flume  ......................................................................  93  

Figura  42.  Sistema  de  ficheros  HDFS  conteniendo  datos  descargados  .............  95  

Figura  43.  Ejecución  del  proceso  MapReduce  (I)  ........................................................  96  

Figura  44.  Ejecución  del  proceso  MapReduce  (II)  ......................................................  96  

Figura  45.  Interfaz  gráfica  que  muestra  el  progreso  de  MapReduce  ..................  97  

Figura  46.  HDFS  conteniendo  datos  de  la  salida  de  MapReduce  ..........................  97  

Figura  47.  Contenido  fichero  part-­‐r-­‐00000  ...................................................................  98  

Figura  48.  Contenido  fichero  part-­‐r-­‐00001  ...................................................................  99  

Figura  49.  Tiempo  de  creación  de  una  tabla  en  Hive  ..............................................  100  

Figura  50.  Tiempo  de  carga  de  datos  en  una  tabla  en  Hive  .................................  100  

Figura  51.  Ejemplo  de  consulta  SELECT  que  produce  un  MapReduce  ...........  101  

Figura  52.  Ejemplo  de  consulta  SELECT  .......................................................................  101  

Figura  53.  Sucesión  temporal  por  minutos  de  los  tweets  ....................................  103  

Figura  54.  Diagrama  de  caja  de  la  evolución  por  minutos  ...................................  104  

 

ÍNDICE  DE  FIGURAS    

  VII  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

Figura  55.  Tabla  de  colores  con  la  evolución  por  minutos  ...................................  105  

Figura  56.  Escala  de  colores  para  la  evolución  por  minutos  ...............................  105  

Figura  57.  Sucesión  temporal  por  horas  de  los  tweets  ..........................................  106  

Figura  58.  Sucesión  temporal  por  horas  de  los  tweets  en  horizontal  .............  107  

Figura  59.  Diagrama  circular  del  idioma  de  los  tweets  .........................................  108  

Figura  60.  Leyenda  del  diagrama  circular  ...................................................................  108  

Figura  61.  Página  de  presentación  de  Cloudera  Manager  ....................................  118  

Figura  62.  Detección  de  nodos  de  las  máquinas  virtuales  ....................................  119  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ÍNDICE  DE  TABLAS  

-­‐  VIII  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

   

 

ÍNDICE  DE  TABLAS  

-­‐  IX  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

Índice  de  tablas    

Tabla  1.  Pros  y  contras  de  la  solución  open-­‐source  ...................................................  15  

Tabla  3.  Pros  y  contras  de  la  solución  propia  ...............................................................  17  

Tabla  4.  Versiones  herramientas  Cloudera  ....................................................................  44  

Tabla  5.  Funcionalidades  Ediciones  MapR  [22]  ...........................................................  49  

Tabla  6.  Versiones  herramientas  MapR  [25]  .................................................................  50  

Tabla  7.  Comparativa  herramientas  Hadoop  ................................................................  53  

Tabla  8.  Comparativa  productividad  ................................................................................  54  

Tabla  9.  Comparativa  tolerancia  a  fallos  .........................................................................  55  

Tabla  10.  Comparativa  rendimiento  .................................................................................  56  

Tabla  11.  Comparativa  general  [28]  .................................................................................  59  

 

 

 

 

 

   

 

ÍNDICE  DE  TABLAS  

-­‐  X  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

 

 

-­‐  1  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

Parte  I MEMORIA  

 

 

 

-­‐  2  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

   

 

Introducción  

-­‐  3  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

Capítulo  1 INTRODUCCIÓN  

Hoy   en   día,   las   organizaciones   se   enfrentan   a   grandes   cantidades   de  

información,  tanto  estructurada  como  desestructurada3,  proveniente  de  una  inmensa  

cantidad   de   fuentes   diferentes.   El   crecimiento   del   volumen   de   la   información   se  

produce   de   una   forma   exponencial   y   según   la   fuente   se   presenta   en   diferentes  

formatos.   Según   el   IDC,   International   Data   Corporation,   más   del   90%   de   la  

información   de   las   organizaciones   está   desestructurada   y   el   volumen   de   esta  

información  se  duplicará  cada  18  meses.  Este  crecimiento  ha  hecho  que  el  software  de  

las  bases  de  datos   tradicionales  necesite  de  un  nuevo  análisis  que  permita   trabajar  

con  este  volumen  [1].    

Asimismo,  el  despliegue  de   la   tecnología  cloud   reduce  el   tiempo  que  se   tarda  

en  desplegar  productos  al  mercado  y  el  coste  requerido  para  proveer  servicios  a  los  

consumidores  de  Internet.  Esto  hace  que  crezca  el  número  de  empresas  que  buscan  

expandir   sus   negocios   por   Internet,   número   añadido   a   la   cantidad   de   datos   que   se  

generan.  

Algunas  de  las  compañías  más  exitosas  del  mundo  deben  este  éxito,  en  parte,  a  

las   estrategias   innovadoras   que   han   empleado   para   acceder,   manejar   y   emplear  

porciones  de  datos  que  brindar  nuevas  oportunidades  o  permiten   tomar  decisiones  

de  negocio  más  rápidamente.  Estas  estrategias,  a  día  de  hoy,  se  basan  en  el  Big  Data.    

“Big  Data  son  un  conjunto  de  técnicas  y  

tecnologías  que  permiten  manejar  datos  a  una  

escala  extrema  de  una  forma  asequible  [12]”  

                                                                                                               3    Los  datos  desestructurados  son  aquellos  que  no  están  sujetos  a  un  modelo  de  datos  relacional.  No  se  pueden   introducir   en   las   tablas  de   los  modelos   clásicos  debido  a  que  no  está  definido  el  número  de  columnas,  sino  que  varía  según  la  fila.  

 

Introducción  

-­‐  4  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

 

Figura  4.  El  almacenamiento  de  información  ha  crecido  significativamente  en  los  últimos  años  [1]  

 

 

Figura  5.  Hype-­‐cycle  de  Gartner  de  tecnologías  en  2014  [34]  

 

 

Introducción  

-­‐  5  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

1.1 MOTIVACIÓN  

La   iniciativa   de   desarrollar   este   proyecto   surge   en   la   empresa   VASS,  

Consultora  Tecnológica,  en  el  área  del  Business  Intelligence.  El  propósito  es  integrar  

en  la  gama  de  servicios  que  ofrece  la  empresa  una  plataforma  que  sea  capaz  de  tratar  

Big  Data.  

Con  el  paradigma  actual  de  generación  de  grandes  cantidades  de  información,  

será   necesario   hacer   uso   de   una   plataforma   que   sea   capaz   de   dar   soporte,  

procesamiento  y  análisis  a  todos  esos  datos.  Es  aquí  donde  surge  la  idea  de  introducir  

esta  tecnología  en  el  abanico  de  servicios  que  se  ofrecen  al  cliente  en  VASS.    

Según  aseguran  los  informes  de  la  empresa  Gartner,  especialistas  en  clasificar  

las   nuevas   tecnologías,   el   Big  Data   se   encuentra   actualmente   en   fase   de   desilusión,  

como  se  muestra  en   la  Figura  2,   fase  en   la  que  está  disminuyendo  su  auge  y  aún   le  

queda  tiempo  para   instaurarse  por  completo,  pero  se  mantiene  su  nivel  de  utilidad,  

haciéndola  incluso  necesaria;  su  nivel  de  madurez  es  adolescente,  que  implica  que  ya  

está   instaurado   en   las   empresas   visionarias   y   está   empezando   a   instaurarse   en   las  

empresas   que   la   ven   como   una   oportunidad   de   negocio;   y   se   considera   que   va   a  

proveer  un  ratio  de  beneficios  transformacional,  lo  que  significa  que  aporta  un  nuevo  

modelo  de  negocio   en   las   industrias,   que   resultará   en  un  gran  beneficio   económico  

debido  a  todas  sus  ventajas.  

Como  opinión  personal,  esta  tecnología  será  de  gran  ayuda  para  las  empresas  

que  ofrezcan  servicios,  y  que  probablemente   tenga  un  gran  crecimiento  en   los  años  

venideros,  sobretodo  en  el  ámbito  económico.  No  sólo  eso,  sino  que  se   trata  de  una  

tecnología  que  aporta  un  gran  valor  a  aquellas  personas  especializadas  en  ella  por  el  

conocimiento  que  aporta  sobre  el  tratamiento  y  análisis  de  datos.    

Por   lo   tanto,   hacer   uso   de   esta   tecnología   aportará   grandes   beneficios   al  

implantarse  en  el  modelo  de  negocio.  

 

Introducción  

-­‐  6  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

1.2 ESTRUCTURA  DEL  DOCUMENTO  

En   el   presente   documento   se   realiza   primero   una   introducción   al   Big   Data,  

definiendo  la  tecnología  y  explicando  los  requisitos  básicos  para  que  un  conjunto  de  

información   se   pueda   considerar   Big   Data.   También   se   hará   un   resumen   del  

tratamiento  que  deben  recibir  los  datos  para  poder  extraer  conclusiones  útiles  sobre  

ellas.  

A  continuación  se  presentan  los  retos  existentes  en  esta  tecnología,  retos  que  

deben   ser   solucionados   a   medida   que   avanza   la   tecnología,   así   como   los   tipos   de  

distribuciones  que  se  presentan  en  el  mercado.    

En  el  estado  de  la  tecnología  se  analiza  cómo  han  avanzado  las  bases  de  datos  

clásicas  hacia  nuevos  modelos.  También  se  analiza   la  base  de   la  mayor  parte  de   las  

distribuciones  presentes  en  el  mercado:  Hadoop.  Se  expone  el  funcionamiento  de  esta  

plataforma   software,   así   como   sus   componentes   y   actualizaciones.   Si   bien   no   es   la  

única   plataforma   para   tratamiento   de   Big   Data   existente,   el   estudio   se   centrará   en  

ella,  ya  que  las  distribuciones  a  analizar  se  basan  en  Hadoop.  

En  siguiente  lugar  se  pasa  a  la  fase  de  análisis,  donde  se  estudiarán  en  mayor  

profundidad   las   siguientes   distribuciones   open-­‐source:   Hortonworks,   Cloudera   y  

MapR.  Se  presentan  los  productos  y  paquetes  que  ofrecen  en  el  mercado,  para  poder  

realizar   las   diversas   comparativas   entre   ellas,   en   cuanto   a   rendimiento,  

productividad,  herramientas  que  permite  y  tolerancia  a  fallos.    

Una  vez  se  realiza  el  análisis  y  la  comparativa  se  llegará  a  una  conclusión  que  

permita  identificar  la  distribución  que  se  considere  más  adecuada  para  el  uso  que  se  

le   vaya   a   dar.   Es   entonces   cuando   se   debe   definir   la   arquitectura   del   sistema  

completo:   el   entorno  de   trabajo,   donde   se   especifican   los   servidores  y  ordenadores  

que  serán  necesarios,  así  como  sus  sistemas  operativos;  y  el  diseño  de  la  plataforma,  

donde  se  indican  las  herramientas  propias  de  Hadoop  y  específicas  de  la  distribución  

seleccionada,  que  permitirán  realizar  el  tratamiento  completo  de  la  información  para  

obtener  así  resultados.    

 

Introducción  

-­‐  7  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

Cuando   se   tenga   el   sistema   definido,   se   procederá   a   implementar   la  

plataforma.    

Finalmente,   se   probará   la   plataforma   con   datos   reales   que   permitan   extraer  

una  serie  de  conclusiones  y  así  especificar  unos  trabajos  futuros.  

 

1.3 DEFINICIÓN  DE  BIG  DATA  

El  Big  Data  se  refiere  a  cantidades  masivas  de  datos,  el  tamaño  y  la  variedad  de  

los   cuales   están   muy   por   encima   de   la   capacidad   de   procesamiento   de   las  

herramientas  de  procesado  de  datos   tradicional,   sobre   todo  si   se   tiene  en  cuenta  el  

tiempo  que  tarda  en  hacerlo.    

Para   que   una   gran   cantidad   de   datos   se   considere   Big  Data,   por   lo   tanto,   es  

necesario  que  se  cumplan  tres  requisitos,  denominados  3Vs  [1]:  

ü Volumen:  como  el  nombre  de  Big  Data  indica,  el  volumen  que  los  datos  pueden  

llegar  a  ocupar  puede  ascender  hasta  los  terabytes  o  petabytes.  Se  ha  elevado  

tanto   como   resultado   del   crecimiento   de   la   demanda   de   las   empresas   para  

utilizar  y  analizar  más  tipos  de  datos,  generalmente  desestructurados,  que  no  

encajan  en  los  sistemas  de  negocios  actuales.  La  cantidad  de  información  está  

creciendo  con  una  tasa  exponencial;  tanto,  que  el  90%  de  la  información  a  día  

de  hoy  se  ha  creado  únicamente  en  los  últimos  dos  años.  

ü Velocidad:   cada   vez   más,   las   empresas   necesitan   tiempos   de   respuesta  

mínimos,  llegando  incluso  a  la  respuesta  en  tiempo  real.  Cargar  la  información  

en  procesos  batch  no  es  adecuado  para  el  e-­‐commerce,  el  envío  de  contenidos  

multimedia   u   otras   aplicaciones   de   tiempo   real.   Esto   hace   que   se   acelere   la  

velocidad  en   la  carga  de  datos,  sin  olvidar  su   inmenso  volumen.  El  streaming  

de  datos   y   la   complejidad   en   el   procesado  hacen  que   se   tengan  que   cumplir  

una  serie  de  requerimientos  de  arquitectura  nuevos  que  puedan  dar  el  soporte  

 

Introducción  

-­‐  8  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

necesario  para  ello,  es  decir,  se  necesitarán  respuestas  en  tiempo  real  o  lo  más  

cercano  posible.  

ü Variedad:     tiene   que   ver   con   datos   de   diferentes   tipos   y   que   proceden   de  

distintas   fuentes.   La   mayor   parte   de   los   datos   actualmente   se   presentan  

desestructurados  o  semi-­‐estructurados,  lo  que  significa  que  no  encajan  en  las  

filas  y  columnas  de  las  bases  de  datos  relacionales  tradicionales.  

También  se  puede  hacer  referencia  a  otra  serie  de  términos,  como  veracidad  o  

valor  de  dicha  información,  que,  aunque  no  son  tan  relevantes  a  la  hora  de  definir  el  

Big   Data,   ni   determinantes   a   la   hora   de   aplicar   su   definición,   se   deben   tener   en  

cuenta:    

ü Veracidad:  se  refiere  a  la  fiabilidad  de  los  datos.  Con  las  muchas  formas  en  las  

que  se  presenta  el  Big  Data,  es  más  difícil  controlar  la  calidad  y  la  precisión  del  

análisis;   si   bien,   las   herramientas   que   se   han   desarrollado   permiten   ahora  

trabajar  con  estos  datos.  

ü Valor:   este   término   implica  que   la   información,  una  vez   tratada  y  procesada,  

debe  aportar  algún  tipo  de  valor  o  se  le  pueda  dar  algún  uso.  Ésta  es  quizás  la  V  

más  importante  para  las  empresas,  ya  que  si  no  les  aporta  ningún  beneficio,  no  

es  importante  la  capacidad  de  procesar  los  datos.    

 

1.4 ARQUITECTURA  

La   arquitectura   del   Big   Data   se   basa   en   la   que   tiene   cualquier   sistema   de  

análisis  de  información:  basada  en  cinco  capas.  De  cada  capa  se  encuentran  múltiples  

herramientas  que  facilita  cada  uno  de  los  procesos.  

 

Introducción  

-­‐  9  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

Figura  6.  Arquitectura  Big  Data  

 

A  continuación  se  especifican  las  funcionalidades  de  las  capas:  

ü Recolección:  en  esta  capa  se  recopilan  los  datos  que  servirán  de  base  para  el  

análisis  que  se   requiera.  La  cantidad  de  datos  será  muy  grande  y  su   formato  

será   variado.   Estos   datos   pueden   proceder   de   diversas   fuentes,   por   ejemplo  

redes   sociales,   M2M,   Big   Transaction   Data4,   biométrica   o   generado   por   los  

humanos,  generalmente  procedente  de  centros  de  procesado  de  datos  (CPD),  

que   almacenan   por   ejemplo   las   llamadas   telefónicas.   También,   esta  

información   puede   provenir   de   sistemas   de   lotes   (batch)   o   de   sistemas   en  

tiempo  real  (streaming).  

Del   mismo   modo   que   existen   gran   variedad   de   fuentes   de   información,  

también   existe   una   gran   cantidad   de   herramientas   encargadas   de  

recolectarlas.   Cada   una   de   ellas   con   unas   funcionalidades   específicas  

dependiendo  de  sus  características:  grandes  volúmenes  de  datos  en  bases  de  

datos   relacionales,   información   en   streaming   o   extracción  de   información  de  

redes  sociales  (mediante  APIs  REST).    

La  capa  de  recolección  envía  los  datos  a  la  etapa  de  almacenamiento,  donde  se  

guardarán  los  datos  que  han  sido  recolectados.    

                                                                                                               4   Registros   de   facturación,   registros   detallados   de   las   llamadas   (CDR).   Son   datos   disponibles   en  formato  semiestructurado  o  no  estructurado.  

 

Introducción  

-­‐  10  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

Figura  7.  Tipos  de  Big  Data  a  recolectar  [4]  

 

ü Almacenamiento:  en  esta  capa  se  encuentran  las  herramientas  que  permiten  

almacenar  la  información  de  gran  volumen  y  variabilidad.  Al  ser  conjuntos  de  

datos   tan   grandes,   es   normal   que   se   trate   de   herramientas   distribuidas   y  

escalables.  Se  tienen  bases  de  datos  NoSQL,  que  se  explicarán  más  adelante,  y  

sistemas  de  ficheros  distribuidos  (HDFS).    

También   se   debe   destacar   que   en   muchas   ocasiones   se   almacenarán   los  

resultados  del  procesamiento  de  algunos  datos  de  la  siguiente  capa.  

ü Procesamiento  y  análisis:   en  esta  capa  se   llevan  a  cabo   todos   los  análisis  y  

procesamiento   de   los   datos   que   han   sido   almacenados   para   poder   extraer  

información   de   valor.   Para   poder   procesar   y   analizar   los   datos,   existen  

librerías  con  funciones  ya   implementadas  que  facilitan   la  tarea,  que  traducen  

procesos  complejos,  paradigmas  de  procesamiento  como  MapReduce,  etc.    

Existen  diferentes  técnicas  de  análisis  de  datos  a  aplicar  según  los  análisis  de  

datos  requeridos.  A  continuación  indicamos  algunas  de  ellas:  

• Asociación:  permite  encontrar  relaciones  entre  diferentes  variables.  Se  

pretende   encontrar   una   predicción   en   el   comportamiento   de   las  

variables.  

 

Introducción  

-­‐  11  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

• Minería   de   datos   (Data   Mining):   tiene   como   objetivo   encontrar  

comportamientos   predictivos.   Engloba   el   conjunto   de   técnicas   que  

combina   métodos   estadísticos   y   de   Machine   Learning   con  

almacenamiento  en  bases  de  datos.  

• Agrupación  (Clustering):  el  análisis  de  clústeres  es  un  tipo  de  minería  

de   datos   que   divide   grandes   grupos   de   individuos   en   grupos   más  

pequeños  de  los  cuales  no  conocíamos  su  parecido  antes  del  análisis.  El  

propósito   es   encontrar   similitudes   entre   estos   grupos,   y   el  

descubrimiento  de  nuevos  conociendo  cuáles  son  las  cualidades  que  lo  

definen.  

• Análisis   de   texto   (Text   Analytics):   gran   parte   de   los   datos   generados  

por   personas   son   textos,   como   e-­‐mails,   búsquedas  web   o   contenidos.  

Esta   metodología   permite   extraer   información   de   estos   datos   y   así  

modelar  temas  y  asuntos  o  predecir  palabras.  

ü Visualización:  es  la  etapa  en  la  que  se  muestran  los  resultados  de  los  análisis  

que   se  han   realizado   sobre   los  datos   almacenados,   de   forma  amigable.   Suele  

presentarse  gráficamente,  ya  que  se  puedan  extraer  conclusiones  de  una  forma  

más  sencilla  y  rápida.    

ü Administración:  esta  capa  está  presente  durante  todo  el  proceso  anterior.  En  

esta   capa  se  encuentran   todas   las  herramientas  encargadas  de  administrar  y  

monitorizar   el   estado   de   los   sistemas,   funcionalidades   como   comprobar   el  

estado   de   los   nodos,   el  modelo   de   los   datos   almacenados   o   ejecutar   nuevas  

aplicaciones  de  análisis.  

 

 

   

 

Introducción  

-­‐  12  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

 

Estado  de  la  tecnología  

-­‐  13  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

Capítulo  2 ESTADO  DE  LA  TECNOLOGÍA  

En  este  capítulo  se  va  a  realizar  una   introducción  a   la   tecnología  que  se  va  a  

emplear  a   lo   largo  del  proyecto,  con  el   fin  de   introducir  en  qué  estado  se  encuentra  

dicha   tecnología   para   facilitar   la   comprensión   del   desarrollo   que   se   realiza  

posteriormente.  

 

2.1 RETOS  DEL  BIG  DATA  

Con   la   situación   que   se   presenta   respecto   a   las   grandes   cantidades   de  

información  generada,   se  observa  que   existen  una   serie  de   retos   en   el  mercado,   de  

cara  a  afrontar  el  procesamiento,  el  análisis  y  el  almacenamiento  que  ello  requiere.  A  

continuación  se  presentan  las  características  generales  que  necesita  el  Big  Data  para  

poder  ser  implementado  y  utilizado  por  una  gran  mayoría,  aunque  muchas  de  ellas  ya  

se  encuentran  desarrolladas,  mientras  que  otras  necesitan  avanzar  [1].  

ü Se  deben  desarrollar  estándares   en   la   industria.  Aunque  Hadoop  y   SQL   son  

estándares,  el  desarrollo  de  nuevos  estándares  es  necesario  para  satisfacer  las  

necesidades  tanto  del  cliente  como  del  proveedor.  

ü Se   deberá   soportar   el   análisis   en   tiempo   real   para   poder   avanzar   con   las  

tecnologías.   Los   procesos   de   batch   no   son   suficientes.   En   este   área   se   ha  

desarrollado  una  nueva  tecnología,  Spark,  que  aún  tiene  un  largo  camino  que  

recorrer  para  llegar  a  estar  completamente  implantado  en  el  mercado.  

ü Soporte  para  los  metadatos  y  la  catalogación:  los  datos  actualmente  se  están  

recogiendo   con   información   extra,   que   puede   indicar   en   diferentes   capas  

información   extra,   como   los   elementos   del   dato,   su   estructura   y   la  

construcción  del  fichero.  

 

Estado  de  la  tecnología  

-­‐  14  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

ü Soporte  para  gobernanza  de  datos:  los  datos  son  un  recurso  muy  importante,  

por   lo   que   es   primordial   mantenerlos   seguros   y   aplicar   las   políticas   de  

retención,  recuperación,  replicación  y  auditoría  en  todos  los  niveles.  

ü Soporte  para  tenencia  múltiple:  cuando  se  emplean  recursos  que  comparten  

datos,  la  gobernanza  de  la  seguridad  y  de  los  recursos  es  de  vital  importancia.  

ü Soporte  para  la  seguridad:  la  seguridad  es  crítica,  así  como  la  autenticación  y  

autorización  para  acceder  al  sistema,  ya  que  la  privacidad  y  la  confidencial  de  

los  datos  son  un  verdadero  reto  con  el  gran  incremento  del  Big  Data.  

ü Soporte  para  el  linaje  de  los  datos:  se  necesita  de  un  servicio  que  sea  capaz  

de   conseguir   una   única   localización   para   datos   que   derivan   de   otros   datos,  

ignorando   su   descendencia,   de   forma   que   se   conecte   a  múltiples   fuentes   de  

datos.  

ü Soporte  para  la  integración:  no  existe  una  plataforma  que  integre  todos  estos  

datos,  por  lo  que  se  deben  diseñar  unos  patrones  arquitectónicos,  así  como  los  

sistemas   necesarios   para   poder   unificar   todos   los   datos   procedentes   de  

grandes  cantidades  de  información.  

ü Soporte   para  pruebas:   cuando   se   introduzcan   las   características   básicas   del  

Big  Data  en   la  plataforma  oportuna,   será  necesario   realizar  una  herramienta  

que  permita  hacer  pruebas  de  su  efectividad.  

Por  lo  tanto,  esto  implica  que  lo  que  se  debe  desarrollar  para  poder  llevar  un  

buen  manejo  del  Big  Data  serán  herramientas  de  gestión,  herramientas  de  desarrollo  

y   marcos   de   trabajo   con   interfaces   para   usuarios.   Muchas   de   las   categorías  

presentadas  están  ya  solucionadas  o  en  proceso;  sin  embargo,  nunca  se  debe  dejar  de  

avanzar  con  las  tecnologías,  ya  que  siempre  existen  mejoras  a  realizar.  

 

 

Estado  de  la  tecnología  

-­‐  15  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

2.2 TIPOS  DE  DISTRIBUCIONES  BIG  DATA  

A  la  hora  de  desarrollar  tecnologías  que  den  soporte  a  datos  que  cumplan  los  

tres  requisitos  del  Big  Data,  se  han  dado  dos  soluciones  diferentes,  en  cuanto  a  quién  

ha   desarrollado   estos   sistemas:   desde   una   comunidad   abierta   hasta   las   empresas  

privadas.  

 

2.2.1 SOLUCIÓN  PURE  OPEN-­‐SOURCE  

Donde   mejor   encaja   esta   solución   es   para   empresas   en   las   que   trabaje   un  

equipo   con   los   conocimientos   técnicos   suficientes   para   poder   hacer   uso   de  

desarrollos  abiertos.  

 

Pros   Contras  

ü No  necesita  licencia  

ü Portable  

ü Flexible  

ü Personalizable  

ü Poco  soporte  

ü Sin  servicio  de  

información  

ü Solución  de  errores  

manual  

ü Difícil  de  implementar  y  

desplegar  

 

Tabla  1.  Pros  y  contras  de  la  solución  open-­‐source  

 

Apache   es   el   principal   proveedor   de   open-­‐source,   siendo   Apache   Hadoop   la  

implementación  abierta  del  algoritmo  MapReduce  introducido  en  2004  por  Google.    

 

Estado  de  la  tecnología  

-­‐  16  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

Siendo  una  de  las  tecnologías  de  Big  Data  más  conocidas  y  empleadas,  Hadoop  

es   una   plataforma   distribuida   para   procesos   paralelos   batch   que   puede   desplegar  

cientos   o   miles   de   nodos   de   hardware   en   lo   alto   del   sistema   de   ficheros.   Posee  

características,  como  tolerancia,  autocorrección  de  errores  o  redundancia,  que  hacen  

que  sea  una  tecnología  altamente  disponible  y  segura.  

Aunque   Hadoop   es   una   tecnología   líder   en   Big   Data,   también   existen   otras  

tecnologías   abiertas   que   incluyen   el   despliegue   de   cloud,   herramientas   de  

estadísticas,  acceso  a  datos,  etc.  Por  ejemplo,  Cassandra  Project  o  Apache  Accumulo  

Project  (basado  en  el  diseño  de  Google  BigTable),  ambas  asociadas  a  Apache.  Algunos  

proyectos   no   distribuidos   por   Apache   son   Riak,   MongoDB,   CouchDB,   Redis,   etc.,  

algunos  de  los  cuales  aportan  un  valor  extra  a  Hadoop,  mientras  que  otros  pueden  ser  

usados  en  su  lugar  por  algunas  características  que  pueden  ser  de  interés  para  grupos  

específicos.   Sobre   estos   proyectos   open-­‐source,   existen   las   distribuciones  

propiamente   dichas.   Algunos   ejemplos   de   estas   distribuciones   son   Cloudera   o  

Hortonworks.  

Las   soluciones   open-­‐source   ofrecen   diversos   beneficios,   como   la   ausencia  

licencias,  portabilidad  y  flexibilidad.  Con  esta  solución,  las  empresas  no  están  sujetas  

a  un  único  vendedor,  por  lo  que  pueden  personalizar  la  solución  sin  violar  patentes  o  

copyrights.  Aun  así,  la  implementación  de  soluciones  open-­‐source  pueden  ser  tediosas  

para   los   menos   experimentados   y   ofrecen   muy   poca   formación   y   soporte,   sólo   se  

encuentra  información  en  los  foros  de  discusión  online.  

Las   soluciones   open-­‐source   se   emplean   típicamente   para   empresas   con   un  

personal  muy  técnico,  capaz  de  encontrar  soluciones  por  su  cuenta.    

 

2.2.2 SOLUCIÓN  DE  PROPIETARIO  

Empleada  cuando  una  empresa  quiere  desarrollar  su  propio  producto  porque  

al  analizar  los  riesgos,  les  merece  la  pena  realizar  la  inversión.  

 

 

Estado  de  la  tecnología  

-­‐  17  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

Pros   Contras  

ü Plataforma  de  

desarrollo  y  

mantenimiento  

ü Características  únicas  

y  tecnología  adicional  

ü Fácil  despliegue  

ü Integración  entre  

socios  y  aplicación  

ü Formación  y  soporte  

ü Cuotas  de  licencias  

ü Vendedores  con  

conocimiento  

ü Flexibilidad  limitada  

 

Tabla  2.  Pros  y  contras  de  la  solución  propia  

 

En  la  mayor  parte  de  los  casos,  las  empresas  desarrollan  su  propia  plataforma  

de  Big  Data  empleando  una  combinación  de   las  soluciones  anteriores.  La  ventaja  de  

esta   solución   es   que   el   vendedor   puede   servir   de   socio   a   la   hora   de   desarrollar   y  

mantener  la  plataforma,  e  incluso  en  ocasiones  proveyendo  formación  de  desarrollo  y  

mantenimiento.    

Por  lo  general,  las  empresas  se  sienten  más  cómodas    teniendo  un  camino  bien  

definido  al  personal  de  soporte  de  acceso,  y  los  vendedores  propietarios  tienden  a  ser  

muy  familiares  con  su  propio  producto;  por  lo  tanto,  obtener  respuestas  a  preguntas  

específicas   es   más   sencillo   cuando   se   trata   de   una   solución   propia.   Otra   posible  

ventaja   de   las   soluciones   de   propietario   está   relacionada   con   la   similitud   de   la  

integración  de  socios  y  aplicación,  ya  que  en  el  caso  de  las  soluciones  abiertas  se  suele  

dar  más  carga  a  la  integración  de  la  empresa  con  la  plataforma.  

A  la  hora  de  evaluar  la  solución  propia,  la  empresa  debe  considerar  el  precio  y  

el   coste   de   las   licencias.   Aunque   más   importante,   deberían   determinar   lo   que   es  

distintivamente  diferente  de   las  ofertas  de  open-­‐source:   en  qué  es  única   la   solución  

del  propietario  y  que  valores  añade.  Por  ejemplo,  una  tecnología  adicional  o  una  gran  

 

Estado  de  la  tecnología  

-­‐  18  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

sencillez   en   el   despliegue   y   mantenimiento.   Otro   tipo   de   decisiones   afectan   a   la  

interoperabilidad,  exhaustividad  y  extensibilidad.    

Dado  que  las  soluciones  propias  dependen  de  un  único  vendedor,  las  empresas  

deberían   considerar   la   reputación   del   vendedor   a   la   hora   de   proveer   lo   que   es  

necesario  para  este  tipo  de  organizaciones  hoy  en  día  o  para  un  futuro  previsible.    

La   elección   de   la   empresa   es   si   el   único   valor   ofrecido  merece   el   riesgo   a   la  

hora  de  invertir.  

Algunas  empresas  que  han  desarrollado  este  tipo  de  distribuciones  son  IBM  y  

Microsoft.  

 

2.3 TECNOLOGÍAS  SOBRE  LAS  QUE  SE  APOYA  EL  BIG  DATA  

A  continuación  se  van  a  detallar   las   tecnologías  más   implantadas  para  poder  

realizar  el  tratamiento  de  los  datos  Big  Data.    

Por  un  lado,  las  bases  de  datos  han  avanzado  para  soportar  nuevos  formatos  o  

la   falta   de   formatos,   así   como   el   hecho   de   encontrarse   distribuidas.   También   se  

encuentra   la   principal   tecnología   del   Big   Data:   Hadoop,   que   es   la   tecnología   más  

implantada   en   los   sistemas   de   tratamiento   de   estos   datos,   así   como   la   base   de   la  

mayor  parte  de  herramientas  y  distribuciones  que  se  han  desarrollado  hasta  ahora.  

Recientemente   ha   surgido   Spark,   una   alternativa   que  mejora   la   gran   deficiencia   de  

Hadoop,   que   es   su   procesamiento  batch,   para   pasar   a   un  procesamiento   en   tiempo  

real.  Al  tratarse  de  una  tecnología  tan  nueva,  aún  no  tiene  un  gran  soporte  ni  base,  por  

lo  que  no  se  va  a  tratar  en  este  proyecto.  

 

 

Estado  de  la  tecnología  

-­‐  19  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

2.3.1 BASES  DE  DATOS  

Debido  a  la  importancia  del  almacenamiento  de  la  información  para  poder  ser  

procesada  y  analizada,   es   importante  destacar   los   sistemas  de  almacenamiento  que  

han   surgido   para   dar   cabida   a   esta   gran   cantidad   de   datos.   Se   tiene   el   concepto  

NoSQL,   bases   de   datos   no   relacionales   que   permiten   trabajar   con   información   no  

estructurada.  

 

2.3.1.1 NoSQL  

A   la   hora   de   realizar   consultas   en   las   bases   de   datos   con   los   datos   no  

estructurados,  se  observa  un  problema  relacionado  con  las  transacciones,  ya  que  no  

es   lo   único   que   se   analiza,   sino   que   se   busca   un  modelo   de   consulta   horizontal,   es  

decir,  entre  bases  de  datos.  Esto  no  se  puede  resolver  sencillamente,  por  lo  que  surge  

un  nuevo  paradigma  para  solucionarlo,  el  NoSQL5.  No  se  trata  de  un  sustitutivo  de  las  

bases  de  datos  relacionales  (RDBMS),  sino  que  busca  otras  opciones  para  escenarios  

específicos  de  datos  desestructurados  [33].    

Existen  varias  opciones,  que  según  la  situación  que  se  presente  se  puede  elegir  

una   u   otra,   de   forma   que   se   ataquen   los   problemas   de   escalamiento,   actuación   y  

modelado  de  los  datos.  Estos  escenarios  son  los  siguientes:  

ü Almacenes  clave-­‐valor:  almacenan  una  clave  y  después  el  valor  como  conjunto  

de  bytes.  La  base  de  datos  no  es  capaz  de  interpretar  los  bytes,  por  lo  que  no  se  

presentan   esquemas   ni   tipos   de   datos.   Básicamente   se   emplea   cuando   no  

importa  la  información  que  se  haya  almacenado.  

ü Bases   de   datos   orientadas   a   documentos:   son   una   evolución   del   escenario  

anterior.  Almacenan  una  clave  y  en  lugar  de  guardar  la  información  en  forma  

de  bytes,  la  almacena  en  forma  de  documentos  que  puedan  ser  interpretados,  

por  ejemplo  en  formato  JSON.  

                                                                                                               5  Not  only  SQL  

 

Estado  de  la  tecnología  

-­‐  20  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

ü Bases   de   datos   columnares:   guardan   los   datos   por   columnas.   Especialmente  

útil  para  el  sector  del  Business  Intelligence  por  ser  muy  rápido  en  operaciones  

de  lectura.  Sin  embargo,  no  es  eficiente  para  la  escritura  de  datos.  Su  utilidad  

se  optimiza  cuando  se  calculan  datos  agregados.  

ü Bases  de  datos  orientadas  a  objetos:  se  basan  en  el  paradigma  de  los  lenguajes  

de   programación   orientados   a   objetos.   Es   decir,   se   almacenan   objetos   que  

representan  relaciones  jerárquicas  entre  ellos.  Para  acceder  de  una  tabla  a  otra  

se  emplean  punteros.  

ü Bases  de  datos  orientadas  a  grafos:  optimizan   las  consultas  basándose  en   las  

relaciones   existentes.   Son   bases   de   datos  muy   eficientes   cuando   se   trata   de  

conseguir  resultados  en  base  a  dichas  relaciones.  Son  de  gran  utilidad  cuando  

la  información  se  puede  representar  como  una  red.    

Para  el  Big  Data  es  muy  importante  hacer  uso  del  tipo  de  base  de  datos  que  dé  

el  soporte  necesario  a  la  plataforma  que  se  desee  emplear.  También  se  debe  tener  en  

cuenta   que   el   sistema   debe   comprimir   la   información,   ya   que   el   almacenaje   de  

cantidades  tan  grandes  de  información  resulta  costoso.  Algunos  de  los  ejemplos  más  

reconocidos  de  estos  sistemas  de  información  son  MongoDB  o  Cassandra.  

 

2.3.2 HADOOP  

Hadoop  es  una  plataforma  software  que  provee  almacenamiento  distribuido  y  

capacidades  computacionales  bajo  una  licencia  libre.  Hadoop  surgió  para  arreglar  un  

problema   de   escalabilidad   en   Nutch,   un   rastreador   open-­‐source   y   un   motor   de  

búsqueda,   creado  por  Doug  Cutting.  De   forma   simultánea,  Google  publicó  un  nuevo  

sistema  de  ficheros  distribuido,  Google  File  System  (GFS),  y  un  marco  de  trabajo  para  

procesamiento  paralelo,  MapReduce.  La  exitosa  implementación  de  los  conceptos  de  

estos   desarrollos   en   el   proyecto   Nutch   resultó   en   la   separación   entre   dos   nuevos  

proyectos,  uno  de  los  cuales  fue  Hadoop,  un  proyecto  de  primera  clase  de  Apache  [2].    

 

Estado  de  la  tecnología  

-­‐  21  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

Figura  8.  Arquitectura  de  Hadoop  [2]  

Hadoop  está  desarrollado  como  una  arquitectura  distribuida  maestro-­‐esclavo,  

que   consiste   en   Hadoop   Distributed   File   System   (HDFS),   para   almacenamiento   y  

MapReduce  para  capacidades  computacionales.  Los  rasgos  intrínsecos  de  Hadoop  son  

la   partición  de  datos   y   la   computación  paralela   de   grandes   cantidades  de  datos.   Su  

almacenamiento  y  capacidades  computacionales  se  escalan  con  el  número  de  hosts  de  

la  rama  de  Hadoop,  y  pueden  llegar  a  volúmenes  de  petabytes  con  cientos  de  hosts.    

A   continuación   se  describen  brevemente   las   tecnologías  HDFS  y  MapReduce,  

ya  que  son  la  base  del  funcionamiento  de  Hadoop.  

 

2.3.2.1 Hadoop  Distributed  File  System  (HDFS)  

HDFS   es   el   componente   de   almacenamiento   de   Hadoop.   Es   un   sistema   de  

ficheros  distribuido,  modelado  según  el  GFS  de  Google.  Está  optimizado  para  tener  un  

alto   rendimiento   y   su   uso   óptimo   se   da   cuando   trabaja   con   ficheros   de   lectura   y  

escritura   grandes   (mínimo   gigabytes).   Para   soportar   este   rendimiento,   emplea  

ficheros  muy  grandes  y  optimizaciones  para  reducir  la  red  de  entrada-­‐salida  (IO).    

 

Estado  de  la  tecnología  

-­‐  22  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

Figura  9.  Arquitectura  HDFS  

La  escalabilidad  y  la  disponibilidad  son  también  claves  del  HDFS,  obtenidas  en  

parte  debido  a  la  replicación  de  datos  y  al  defecto  de  tolerancia.    

 

Estado  de  la  tecnología  

-­‐  23  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

HDFS  se  compone  de  nodos,  y  cada  nodo  es  una  instancia  Hadoop.  Siguiendo  el  

esquema  de  maestro-­‐esclavo,  se  configura  un  nodo  maestro  o  NameNode,  que  guarda  

en  memoria   lo   relacionado  con  el   sistema  de   ficheros  y   se  encarga  de  distribuir   los  

bloques  a  cada  uno  de  los  esclavos  para  que  sean  procesados,  y  un  montón  de  nodos  

esclavos  o  DataNode,  que  funcionan  paralelamente  y  actúan  como  si  se  tratase  de  un  

único  nodo.  Estos  nodos  se  comunican  entre  sí  a  través  de  TCP/IP.  

Sus  componentes  principales  son  el  NameNode,  con  el  que  hablan  los  clientes  

del  HDFS  para  actividades  relacionadas  con  los  metadatos,  ya  que  guarda  en  memoria  

lo  relacionado  con  el  sistema  de  ficheros,  y  el  DataNode,  que  dirige  los  bloques  a  cada  

fichero,   de   modo   que   se   encarga   de   leer   y   escribir   los   mencionados   ficheros.   Los  

DataNode   se   comunican   entre   sí   para   las   lecturas   y   escrituras,   y   están   hecho   de  

bloques,  de  forma  que  cada    fichero  se  pueda  replicar  múltiples  veces.  

 

2.3.2.2 MapReduce  

El  concepto  Big  Data  ha  conseguido  que  se  desarrollen  nuevas  tecnologías  para  

el   almacenado,   la   consulta   y   el   análisis   de   la   información,   tanto   estructurada   como  

desestructurada.  Las  bases  de  datos  son  útiles  para  trabajar  con  grandes  cantidades  

de  información  cuando  lo  que  importa  es  la  habilidad  de  almacenaje,  no  la  habilidad  

de  examinar   las   relaciones  entre  elementos  de  datos.  Aquí  es  donde  entra  en   juego  

MapReduce,  que  reduce  este  tiempo  de  procesado  de  información.  

Es   un   rastreador   de   trabajo   (Job   Tracker)   distribuido,   basado   en   procesos  

batch,  modelado  según  el  MapReduce  que  publicó  Google.  Permite  paralelizar  trabajo  

a   través   de   una   gran   cantidad   de   datos   sin   tratar,   como   combinar   la   información  

(logs)  de  las  páginas  web  con  datos  relacionales  de  una  base  de  datos  OLTP  (OnLine  

Transaction  Processing)  para  modelar  la  forma  en  que  los  usuarios  interactúan  con  la  

página   web.   Este   tipo   de   trabajo   podría   durar   días   con   técnicas   de   programación  

convencional,   pero   puede   ser   reducida   a   minutos   empleando   MapReduce   en   un  

clúster  de  Hadoop.    

 

Estado  de  la  tecnología  

-­‐  24  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

   

 

Figura  10.  Funcionamiento  MapReduce  

 

El   modelo   MapReduce   simplifica   el   procesamiento   paralelo   mediante   la  

abstracción  de  las  complejidades  involucradas  en  trabajar  con  sistemas  distribuidos,  

como  la  computación  paralela,  la  distribución  del  trabajo,  o  trabajar  con  hardware  y  

software  informal.    

MapReduce  descompone  el  trabajo  de  un  cliente  en  pequeños  mapas  paralelos  

(map)   y   reduce   trabajadores   (reduce).   El   mapa   y   las   construcciones   reducidas  

utilizadas   son   prestados   de   aquellas   encontradas   en   el   lenguaje   de   programación  

funcional   Lisp  y  usa  un  modelo   shared-­‐nothing,   en   el   que   se   tiene   la  noción  de  que  

cada   nodo   es   independiente   y   autosuficiente,   para   eliminar   cualquier  

interdependencia  de  la  ejecución  paralela  que  pueda  añadir  puntos  sincronizados  no  

buscados  o  compartir  estados.  

 

 

Estado  de  la  tecnología  

-­‐  25  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

2.3.2.3 Limitaciones  de  Hadoop  

No   obstante,   las   dos   principales   limitaciones   que   rodean   Hadoop   son   la  

disponibilidad  y  la  seguridad.    

En   HDFS   se   debe   destacar   la   falta   de   disponibilidad,   ya   que   es   ineficiente  

manejando  ficheros  pequeños,  y  tiene  una  falta  de  compresión  transparente.  HDFS  no  

está   diseñado   para   trabajar   bien   con   lecturas   aleatorias   sobre   ficheros   pequeños  

debido   a   su  optimización  para  un  gran   rendimiento.  No  obstante,   esto   se   soluciona  

con  la  nueva  versión  de  HDFS  de  High  Availability.    

MapReduce  es  una  arquitectura  basada  en  procesos  batch,  que  implica  que  no  

se  presta  a  sí  mismo  para  usar  casos  que  necesitan  acceso  a  datos  en  tiempo  real.  Las  

tareas   que   requieren   sincronización   global   o   compartir   datos  mutables   no   encajan  

bien  con  MapReduce,  debido  a  que  se  trata  de  una  arquitectura  que  no  comparte,   lo  

que   produce   algunos   retos   en   ciertos   algoritmos   que   emplea.   Como   alternativa  

mejorada  a  MapReduce,  Apache  ha  desarrollado  el  proyecto  YARN.  

 

2.3.2.4 Hadoop  2.0  

Con   la  aparición  de  Hadoop  2,  se  han   introducido  dos  grandes  avances  en  su  

funcionamiento:  la  federación  HDFS  y  YARN.  

 

Figura  11.  Hadoop  1  vs  Hadoop  2  [8]  

 

Estado  de  la  tecnología  

-­‐  26  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

2.3.2.5 Federación  HDFS  

Anteriormente,  un  único  NameNode  manejaba  todos  los  nodos  del  clúster.  Con  

la   introducción   de   la   federación   HDFS,   o   HDFS   de   alta   disponibilidad   (HA),   se  

configura   un   clúster   exclusivo   con   múltiples   servidores   de   NameNodes   que   se  

encargan  de  manejar  el  resto  de  nodos,  lo  que  evita  que  exista  un  único  punto  de  fallo  

en  el  sistema.  También  se  permite  construir  clúster  de  forma  independiente  pero  con  

una  base  común  de  almacenamiento  de  datos,  que  aporta  un  escalamiento  horizontal  

[9].  

 

2.3.2.6 YARN  

La   introducción   de   YARN   (Yet   Another   Resource   Navigator)   trae   consigo  

mejoras  significativas  en  cuanto  a  la  actuación  de  algunas  aplicaciones,  da  un  soporte  

adicional   para   los  modelos  de  procesado   e   implementa  un  motor  de   ejecución  más  

flexible.  

YARN   es   un   gestor   de   recursos   que   fue   creado   para   separar   el   motor   de  

procesado  de  las  capacidades  de  gestión  de  recursos  de  MapReduce,  de  Hadoop  1.  Es  

el   responsable   de   gestionar   y   monitorizar   las   cargas   de   trabajo,   manteniendo   un  

entorno  de  multitenencia,   implementando  controles  de   seguridad  y  gestionando   las  

características  de  alta  disponibilidad  (HA)  de  Hadoop  [14].    

El  propósito  de  YARN  era  separar  MapReduce  en  entidades  separadas,  por  lo  

que  su  funcionamiento  se  basa  en  cuatro  elementos:    

ü ResourceManager:  único  y  global  en  el  sistema.  

ü ApplicationMaster:  uno  por  aplicación.  

ü NodeManager:  un  esclavo  por  nodo.  

ü Container:  uno  por  cada  NodeManager.  

 

Estado  de  la  tecnología  

-­‐  27  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

Figura  12.  Arquitectura  YARN  [11]  

De   esta   forma,   el   ResourceManager   y   el   NodeManager   forman   un   nuevo  

sistema   de   aplicaciones   de   gestión   de   una   forma   distribuida,   donde   el   gestor   de  

recursos   es   la   última   autoridad   que   gestiona   los   recursos   en   las   aplicaciones   del  

sistema.   El   ApplicationMaster   es   una   entidad   específica   de   marcos   de   trabajo   que  

negocia   los   recursos   del  ResourceManager   y   trabaja   con   los   nodos   de   gestión   para  

ejecutar  y  monitorizar  las  tareas.  

El  ResourceManager   tiene  un  programador  de   tareas,   responsable  de  asignar  

recursos   a   las   distintas   aplicaciones   ejecutándose   en   el   clúster   de   acuerdo   con   las  

restricciones,  como  por  ejemplo  los  límites  de  cada  usuario.    

Cada  ApplicationMaster  tiene  responsabilidad  de  negociar  los  contenedores  de  

recursos  apropiados  del  programador,  rastrear  su  estado  y  monitorizar  su  progreso.  

Es  como  un  contenedor  normal.  El  NodeManager  es  un  esclavo,  responsable  de  lanzar  

los   contenedores   de   las   aplicaciones,   monitorizando   su   uso   de   recursos   y  

reportándolo  al  ResourceManager.  

Las  mejoras  se  pueden  resumir  en:  

ü Multitenencia:   YARN   permite   múltiples   motores   de   acceso   para   utilizar  

Hadoop  como  el  estándar  común  de  motores  batch,   interactivos  o  en   tiempo  

real,  de  forma  que  se  pueda  acceder  a  la  misma  información  simultáneamente.    

 

Estado  de  la  tecnología  

-­‐  28  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

ü Utilización  de  clúster:   la  asignación  dinámica  de   los  recursos  del  clúster  de  

YARN  es  una  mejora  respecto  a  las  estáticas  reglas  de  MapReduce.  

ü Escalabilidad:   la   potencia   de   procesado   de   los   centro   de   datos   se   está  

expandiendo   continuamente.   Posee   un   gestor   de   recursos   que   se   centra  

exclusivamente   en  programar   y  mantener   los   clúster,   aunque   se   expandan   a  

cientos  de  nodos.  

ü Compatibilidad:   las   aplicaciones   que   emplean  MapReduce   pueden   soportar  

YARN  sin  ninguna  interrupción  en  los  procesos  que  están  ejecutándose  [10].  

 

2.3.2.7 Ecosistema  de  Hadoop  

El  ecosistema  de  Hadoop  es  diverso  y  crece  constantemente.  A  continuación  se  

presenta  un  cuadro  con  las  tecnologías  más  destacables  que  se  han  desarrollado  o  las  

que  más   utilizan   los   usuarios,   las   cuales   comentará   la   otra   parte   colaboradora   del  

proyecto,   denominado   “Análisis   de   soluciones   para   la   implementación   de   una  

plataforma  Big  Data”.  

 

 

Figura  13.  Hadoop  y  su  ecosistema  [2]  

 

 

Estado  de  la  tecnología  

-­‐  29  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

  Algunas  de  las  grandes  empresas  que  utilizan  Hadoop  u  otras  tecnologías  de  su  

ecosistema   son   Facebook,   que   la   emplea   junto   con   Hive   y   HBase   para   análisis   de  

datos;  Twitter,  que  usa  Pig  y  HBase;  Yahoo!,  eBay  y  Google,  que  hace  uso  de  su  propia  

versión  del  MapReduce.    

  Las  organizaciones  que  utilizan  Hadoop  tienen  un  crecimiento  continuo.  Está  

claro  que  mientras  Hadoop  siga  madurando,  su  adopción  seguirá  creciendo.    

   

 

Estado  de  la  tecnología  

-­‐  30  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

 

Definición  del  Trabajo  

-­‐  31  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

Capítulo  3 DEFINICIÓN  DEL  TRABAJO  

En   este   apartado   se   define   el   trabajo   que   se   va   a   realizar,   especificando   los  

objetivos   concretos   del   desarrollo   de   este   proyecto,   así   como   la   planificación   y  

metodología  de  trabajo  que  éste  va  a  conllevar.    

 

3.1 OBJETIVOS  

A   continuación   se   presentan   los   objetivos   que   se   van   a   desarrollar   en   el  

presente  documento.  Con  la  información  presentada  anteriormente,  el  propósito  es:  

1. En   primer   lugar   se   hará   un   estudio   de   las   distribuciones   existentes   en   el  

mercado  de  las  plataformas  de  Big  Data.  Para  ello,  se  debe  tener  en  cuenta  que  

existen   distribuciones   propias   de   algunas   empresas   privadas,   las   cuales  

simplemente   se   analizarán,   y   distribuciones   open-­‐source,   que   se   estudiarán  

más   a   fondo,   de   forma   que   se   presentará   una   comparativa   entre   ellas.   Las  

distribuciones  de  código  abierto  que  se  estudiarán  serán:  

a. Cloudera  

b. Hortonworks  

c. MapR  

2. Una   vez   realizada   la   comparativa   entre   las   distribuciones   mencionadas  

anteriormente,  se  va  a  seleccionar  la  que  obtenga  una  mejor  valoración  acorde  

al  uso  que  se  le  vaya  a  dar  a  dicha  plataforma.  

3. Ya   seleccionada   la   distribución   óptima,   se   deberá   definir   una   arquitectura  

lógica  del  sistema  que  se  va  a  desarrollar.  Es  decir,  del  ecosistema  del  Big  Data  

se  seleccionarán  las  herramientas  necesarias  para  poder  implantar  el  sistema  

 

Definición  del  Trabajo  

-­‐  32  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

deseado.  Por  ejemplo,   la  base  de  datos  de   la  que  se  hará  uso  para  almacenar  

los  datos  una  vez  procesados.  

4. Con   la  distribución  seleccionada  y   las  herramientas  definidas,  se  procederá  a  

implementar  una  plataforma  que  sea  capaz  de  dar  soporte  a   los  datos  de  Big  

Data  que  se  seleccionen,  de  forma  que  se  cumpla  una  funcionalidad  particular,  

dada  por  un  caso  de  uso  práctico  que  se  definirá  en  función  de  los  datos  a  los  

que  se  tenga  acceso.    

5. Estando   ya   implementada   la   plataforma,   se   realizarán  pruebas   haciendo  uso  

de  los  datos  seleccionados,  es  decir,  se  llevará  a  cabo  el  proceso  de  Big  Data,  en  

el  que  se  dan  los  procesos  de  recopilación,  almacenamiento,  procesamiento  y  

análisis  de  los  datos  y  por  último  la  visualización  de  los  resultados.    

 

3.2 METODOLOGÍA  Y  PLANIFICACIÓN  

A   la  hora  de  definir   la  metodología  de   trabajo  es   importante  destacar  que  se  

debe  dividir  el  trabajo  en  tareas  más  breves  y  sencillas  para  así  facilitar  su  desarrollo,  

así  como  la  realización  de  las  pruebas  pertinentes.  

Para  este  proyecto  en  particular,   se   considera  que   la  metodología  que  mejor  

satisface   los  requisitos  que  se  deben  cumplir  es   la  metodología  clásica,  en   la  que  se  

encuentran  cuatro  fases  clave:  análisis,  diseño,  implementación  y  pruebas.  

La   fase   inicial   o  de   análisis   es   la  base  del  proyecto,   ya  que   en   ella   se  han  de  

analizar   detalladamente   las   distribuciones   disponibles   y   más   destacadas,   para   así  

obtener  una  visión  general  del  paradigma  situado  sobre  el  proyecto  Hadoop  y  decidir  

cuál  de  todas  ellas  será  la  que  mejor  se  adapte    el  proyecto  en  cuestión.  

En   la   fase   de   diseño,   que   se   desarrollará   con   la   otra   parte   colaboradora   del  

proyecto,  se  definirá  la  arquitectura  sobre  la  que  se  sustentará  la  plataforma.  En  este  

diseño  se  deberá  indicar  el  almacenamiento  físico  de  los  datos  que  se  van  a  procesar,  

 

Definición  del  Trabajo  

-­‐  33  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

así   como   las   herramientas   que   se   van   a   utilizar,   que   se   han   organizado   en   las  

siguientes  clases:  

ü Recopilación  de  datos  

ü Almacenamiento  

ü Administración  

ü Procesamiento  y  análisis  

ü Utilidades  

ü Seguridad  

Una  vez  se  haya  definido  toda  la  arquitectura  a  utilizar,  se  pasará  a  la  fase  de  

implementación.   En   esta   fase   se   desarrollarán   los   objetivos   haciendo   uso   de   la  

distribución   seleccionada   y   las   correspondientes   herramientas   que   hagan   que   la  

plataforma  sea  lo  más  eficiente  posible.  

En  último  lugar  se  llevará  a  cabo  la  fase  de  pruebas,  en  la  que  se  comprobará  el  

correcto  funcionamiento  de  la  plataforma  y  así  asegurar  que  se  ha  cumplido  con  los  

objetivos   definidos.   Estas   pruebas   se   desarrollarán   con   datos   reales   para   poder  

obtener  unos  resultados  que  aporten  información  útil.  

A   continuación   se   incluye   un   diagrama   de   GANTT   que   representa   el  

cronograma   que   se   llevará   a   cabo   en   el   desarrollo   del   proyecto.   Como   se   puede  

observar,  la  fase  que  más  tiempo  ocupará  será  la  del  desarrollo  de  la  plataforma.  

 

 

Figura  14.  Cronograma  

   

 

Definición  del  Trabajo  

-­‐  34  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

 

Análisis  de  las  Distribuciones  

-­‐  35  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

Capítulo  4 ANÁLISIS  DE  LAS  DISTRIBUCIONES  

Anteriormente   se   describieron   los   tipos   de   distribuciones   existentes   en   el  

mercado:   hay   distribuciones   open-­‐source   y   otras   que   son   de   propietarios,  

generalmente  de  pago.  En  este  proyecto  se  van  a  analizar  las  distribuciones  abiertas  

principales   para   realizar   una   comparativa   entre   ellas   y   así   poder   seleccionar   la  

óptima  para  el  caso  de  uso  específico  que  se  quiera  desarrollar.    

 

4.1 HORTONWORKS  

Hortonworks  es  una  compañía  de  software  centrada  en  el  desarrollo  y  soporte  

de  Apache  Hadoop.  Se  formó  en  junio  de  2011  a  partir  de  un  grupo  de  trabajadores  

del  proyecto  Hadoop  de  Yahoo.    

 

Figura  15.  Logo  Hortonworks  [14]  

El   producto   principal   de   Hortonworks   se   llama   Hortonworks   Data   Platform  

(HDP),   que   incluye   al   proyecto   Apache   Hadoop,   y   es   utilizada   para   almacenar,  

procesar  y  analizar  grandes  cantidades  de  datos.  

 

Análisis  de  las  Distribuciones  

-­‐  36  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

4.1.1 HADOOP  DATA  PLATFORM  (HDP)  

Diseñada,   desarrollada   y   construida   completamente   en   abierto,   HDP   provee  

una  plataforma  de  datos  que  permite  a   las  organizaciones  adoptar  una  arquitectura  

de  datos  moderna:  capaz  de  soportar  lo  que  se  conoce  como  Big  Data.    

Con   YARN   como   su   centro   de   arquitectura,   provee   una   plataforma   de   datos  

para  procesamiento  de  datos  con  multicarga  a   través  de  una  cadena  de  métodos  de  

procesamiento  –  desde  batch  hasta  tiempo  real,  pasando  por  interactivo.  

Se   caracteriza   por   ser   completamente   abierta,   fundamentalmente   versátil   y  

completamente  integrada  con  las  aplicaciones  existentes.    

 

Figura  16.  Arquitectura  HDP  [14]  

HDP  ofrece  la  más  amplia  gama  de  opciones  de  despliegue  para  Hadoop:  desde  

el  sistema  operativo,  donde  se  puede  utilizar  Windows  o  Linux,  hasta  el  despliegue,  

que   puede   ser   en   la   nube   o   en   un   servidor   físico.   Es   una   distribución   altamente  

portátil,  que  permite  fácil  y  confiablemente  migrar  de  un  despliegue  a  otro.  

 

Análisis  de  las  Distribuciones  

-­‐  37  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

4.1.1.1 Gestión  de  datos  

Los   componentes   del   núcleo   de   HDP   son   YARN   y   HDFS.   YARN   es   el   centro  

arquitectónico  de  Hadoop  que  permite  procesar  datos  simultáneamente  de  múltiples  

formas.   Provee   una   gestión   de   recursos   y   una   arquitectura   que   se   puede   conectar  

para  permitir  una  gran  variedad  de  métodos  de  acceso  de  datos.  HDFS  por  otra  parte  

provee  escalabilidad,  tolerancia  a  fallos  y  almacenamiento  rentable  para  Big  Data.    

 

Figura  17.  Gestión  de  datos  [14]  

 

4.1.1.2 Acceso  de  datos  

YARN   provee   la   fundación   de   un   intervalo   versátil   de   motores   de  

procesamiento   que   potencia   la   interacción   con   los   mismos   datos   de   una   forma  

variable  y  simultánea.  Los  casos  de  uso  emergentes  son  soportados  por  el  ecosistema  

de  Hadoop,  que  a  su  vez  aporta  motores  más  especializados.    

Se   han   desarrollado   algunas   herramientas   propias   de   Hortonworks   para   el  

acceso  de  datos,  Tez  o  Stinger.  

 

Análisis  de  las  Distribuciones  

-­‐  38  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

Figura  18.  Acceso  de  datos  [14]  

 

4.1.1.3 Gobernanza  de  datos  e  integración  

HDP  extiende  el  acceso  de  datos  y  su  gestión  con  herramientas  muy  potentes  

de   gobernanza   e   integración.   Proveen   un   marco   de   trabajo   confiable,   replicable   y  

simple   para   la   gestión   del   flujo   de   datos   de   entrada   y   salida   de   Hadoop.   Esta  

estructura   de   control   es   crítica   para   una   integración   exitosa   de   Hadoop   en   las  

arquitecturas  de  datos  modernas.  

 

Análisis  de  las  Distribuciones  

-­‐  39  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

Figura  19.  Gobernanza  de  datos  e  integración  [14]  

 

4.1.1.4 Seguridad  

La   seguridad   se   integra   en   HDP   en   múltiples   capas.   Características   críticas,  

como  la  autenticación,  autorización  y  la  protección  de  datos  están  en  orden  para  que  

se   pueda   securizar   HDP   con   estos   requisitos.   También   se   asegura   que   se   pueda  

integrar  y  extender  las  soluciones  de  seguridad  actuales  para  proveer  una  cobertura  

completa.    

 

Figura  20.  Seguridad  [14]  

 

Análisis  de  las  Distribuciones  

-­‐  40  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

4.1.1.5 Operaciones  

Los  equipos  de  operaciones  despliegan,  monitorizan  y  manejan  un  clúster  de  

Hadoop   dentro   de   su   amplio   ecosistema   de   datos   empresariales.   HDP   ofrece   un  

equipo  completo  de  capacidades  operacionales  que  provee  ambas  visibilidades  en  el  

clúster,  además  de  herramientas  de  configuración  de  gestión  y  optimización    a  través  

de   los  métodos  de   acceso  de  datos.   Es  destacable  Ambari:   herramienta  que   integra  

sistemas  de  gestión.    

 

Figura  21.  Operaciones  [14]  

 

4.1.1.6 Herramientas  HDP  

Con  la  última  versión  de  HDP,  la  2.2,  se  presentan  las  siguientes  versiones  de  

las  herramientas  que  es  capaz  de  soportar  esta  plataforma  en  el  momento  en  el  que  

se   redacta   el   presente   documento.   Como   se   puede   observar,   el   número   de  

herramientas   aumenta   con   cada   nueva   versión   en   las   diferentes   partes   de   la  

arquitectura.  Las  nuevas  que  han  surgido  son:  Spark,  Slider,  Kafka  y  Ranger.  Además,  

también  soporta  la  popular  base  de  datos  MongoDB,  en  su  versión  3.0.0.  

 

Análisis  de  las  Distribuciones  

-­‐  41  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

Figura  22.  Hortonworks  Data  Platform  2.2  [13]  

 

4.2 CLOUDERA  

Cloudera  es  una  compañía  americana  de  software  que  trabaja  principalmente  

con   Hadoop.   Fue   fundada   en   2008   por   cuatro   ingenieros   de   distintas   empresas:  

Yahoo,  Google,  Facebook  y  Sleepycat  Software.  Se  dedica  a  ofrecer  soluciones  Hadoop  

para  Big  Data  y  ofrece  soporte  de  sus  productos.  

 

Figura  23.  Logo  Cloudera  [15]  

Cloudera  ofrece  su  producto  en  tres  paquetes  diferentes:    

ü Cloudera  Enterprise:   incluye  el  paquete   completo   con  una   suscripción  anual,  

incluyendo  CDH,  Cloudera  Manager  y  Cloudera  Navigator.  

ü Cloudera   Express:   incluye   algunas   funcionalidades   extras   de   gestión   de  

Cloudera  Manager,  aparte  del  núcleo.  

 

Análisis  de  las  Distribuciones  

-­‐  42  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

ü CDH:  es  el  conjunto  de  elementos  del  núcleo  de  Hadoop.  Es  gratuito.  Dentro  del  

paquete   gratuito   también   se   incluyen   algunas   herramientas   de   gestión:  

Cloudera  Manager.  

 

4.2.1 CLOUDERA  DISTRIBUTION  OF  HADOOP  (CDH)  

CDH  es  una  distribución  muy  completa  de  Apache  Hadoop  y  otros  proyectos  

relacionados.   Está   100%   licenciado   por   Apache   y   es   capaz   de   unificar   el  

procesamiento  batch,  SQL  interactivo,  búsqueda  interactiva  y  el  control  de  acceso.  Su  

última  versión  es  la  5.3.2  [16].  

Además  de  proporcionar  los  elementos  básicos  de  Hadoop  –  almacenamiento  

escalable   y   computación   distribuida   –   añade   componentes   como   un   interfaz   de  

usuario,  seguridad  o   integración  con  una  amplia  gama  de  soluciones  de  hardware  y  

software.    

 

Figura  24.  Arquitectura  de  CDH  [16]  

CDH   incluye   elementos   del   núcleo   de   Apache   Hadoop,   además   de   muchos  

proyectos  de  código  abierto.    

Las  principales  características  de  CDH  son:    

 

Análisis  de  las  Distribuciones  

-­‐  43  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

ü Flexibilidad:   almacena   cualquier   tipo   de   información   y   la   procesa   con   una  

cadena   de   diferentes   marcos   de   trabajo   computacionales,   incluyendo   el  

procesamiento  batch,  SQL  interactivo,  búsqueda  de  texto  gratuita,  aprendizaje  

de  máquinas  y  computación  estadística.    

ü Integración:  se  trata  de  una  plataforma  Hadoop  completa  y  empaquetada.  

ü Seguridad:   es   capaz   de   procesar   y   controlar   datos   confidenciales,   así   como  

asegurar  multitenencia.    

ü Escalabilidad   y   extensibilidad:   habilita   una   amplia   gama  de   aplicaciones   que  

son  escalables  con  cada  negocio.    

ü Alta   disponibilidad:   ejecuta   las   cargas   de   trabajo   críticas   de   una   forma  

confiable.  

ü Abierto:  no  pertenece  a  ningún  proveedor.  

ü Compatibilidad:  se  puede  usar  de  forma  simultánea  a  las  herramientas  de  IT.  

 

A   continuación   se  presentan   las  últimas  versiones  que   soporta  CDH  para   las  

herramientas  del  ecosistema  de  Hadoop  [15].  

 

 

 

 

 

 

 

 

 

 

 

 

Análisis  de  las  Distribuciones  

-­‐  44  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

Herramienta  Versión  

soportada  

Apache  Hadoop   2.5.0  

Apache  Avro   1.7.6  

Apache  Flume   0.11.0  

Apache  HBase   0.98.6  

HBase-­‐Solr   1.5  

Apache  Hive   0.13.1  

Hue   3.7.0  

Cloudera  Impala   2.1  

Apache  Mahout   0.9  

Apache  Oozie   4.0.0  

Apache  Pig   0.12.0  

Cloudera  Search   1.0.0  

Apache  Spark   1.2.0  

Apache  Sqoop   1.4.5  

Apache  Sqoop2   1.99.4  

Apache  Whirr   0.9.0  

MongoDB   3.0.0  

Apache  Zookeeper   3.4.5  

Tabla  3.  Versiones  herramientas  Cloudera  [15]  

 

Aparte   de   soportar   todas   estas   versiones,   Cloudera   ha   desarrollado   también  

dos  herramientas  propias:  Cloudera  Impala  y  Cloudera  Search.  

 

Análisis  de  las  Distribuciones  

-­‐  45  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

4.2.1.1 Cloudera  Impala  

Cloudera   Impala   surge   como   respuesta   a   un   vacío   de   Hadoop   y   las  

herramientas   de   su   entorno:   Hive,   al   trabajar   sobre   MapReduce,   no   es   una  

herramienta   ágil   cuando   se   trata   de   bases   de   datos   de   un   tamaño   reducido   y   se  

buscan  respuestas  en  tiempo  real.  

Impala   es  una  base  de  datos   analítica   completamente   integrada,   que  ha   sido  

diseñada   para   aprovechar   la   flexibilidad   y   escalabilidad,   punto   fuertes   de   Hadoop.  

Trabaja  con  el  lenguaje  SQL,  que  sí  que  permite  realizar  consultas  en  tiempo  real.  Por  

otro   lado,   se   beneficia   de   los  metadatos   de  Hive,   por   lo   que   es   compatible   con   sus  

tablas  y  puede  hacer  consultas  en  bases  de  datos  distribuidas  [17].    

No  obstante,  Impala  no  es  un  sustituto  de  Hive,  sino  que  se  complementan:  los  

datos  se  pueden  almacenar  en  una  tabla  Hive  y  ser  consultados  con  Impala,  de  forma  

que  se  obtenga  un  sistema  de  procesado  en  tiempo  real,  es  decir,  mucho  más  rápido  

que  si  se  hace  uso  exclusivamente  de  Hive.  

El   funcionamiento   de   Impala   se   asemeja  mucho   al   de   cualquier   herramienta  

relacionada  con  Hadoop.  Se  tiene  un  servicio,  denominado  impalad,  que  se  ejecuta  en  

todos  los  nodos.  Cuando  alguno  de  los  nodos  recibe  una  consulta,  pasa  a  ser  un  nodo  

coordinador:   se   encarga   de   distribuir   la   carga   de   trabajo   sobre   los   otros   nodos   y  

cuando  recibe  las  respuestas  parciales  las  unifica  en  una  respuesta  final.  

Este   funcionamiento   puede   ser   monitorizado   por   un   servicio   adicional,  

statestored,  que  almacena  los  estados  de  los  nodos  impalad  para  así  distribuir  la  carga  

de  trabajo  sin  que  se  produzcan  colapsos  o  se  envíe  trabajo  a  un  nodo  caído  .  

 

4.2.1.2 Cloudera  Search  

Search  permite   la   búsqueda  de   forma   escalable   sobre   los   datos  del   clúster   a  

través  de  índices.  Para  esta  indexación  se  apoya  en  el  sistema  de  la  herramienta  Solr.  

Sin   embargo,   realiza   las   búsquedas   sobre   texto   directamente,   sin   importar   que   los  

 

Análisis  de  las  Distribuciones  

-­‐  46  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

datos  estén  estructurados  o  no.  Tampoco  requiere  de  la  implementación  de  código,  lo  

que  sí  ocurre  con  MapReduce,  por  lo  que  se  disminuye  el  tiempo  de  respuesta  [18].    

 

4.2.2 CLOUDERA  MANAGER  

Es  la  herramienta  de  Cloudera  encargada  de  administrar  el  clúster.  Ofrece  una  

interfaz  web  que  facilita  la  instalación  del  clúster,  seleccionar  los  nodos  y  servicios  y  

permite  realizar  cualquier  configuración  y  monitorización  de  forma  visual  para  poder  

así  detectar  cualquier  fallo  del  sistema.  

 

Figura  25.  Servicios  de    Cloudera  Manager  [20]  

En   la   imagen   que   se   muestra   aparecen   los   servicios   que   ofrece   Cloudera  

Manager,  de  los  cuales  se  han  destacado  los  que  se  ofrecen  de  forma  gratuita.  

 

4.2.3 CLOUDERA  NAVIGATOR  

Esta  herramienta  facilita  la  administración  de  los  datos  del  clúster.  Verifica  los  

accesos  de  los  usuarios  a  los  ficheros  de  HDFS  en  función  de  los  permisos  que  éstos  

presenten.  

También  sirve  para  la  auditoría  de  datos  al  mantener  un  registro  completo  de  

los   accesos   realizados,   para   así   llevar   un   mayor   control   sobre   los   accesos   y   sus  

consecuentes  estadísticas  o  evolución  [21].  

Esta  herramienta  no  se  ofrece  de  forma  gratuita.    

 

Análisis  de  las  Distribuciones  

-­‐  47  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

Figura  26.  Servicios  de  Cloudera  Navigator  [20]  

 

4.3 MAPR  

MapR   es   una   empresa   americana   fundada   en   2009   que   desarrolla   y   vende  

software  derivado  del  proyecto  Apache  Hadoop.  Participa  en  muchos  proyectos  como  

HBase,  Pig  o  Zookeeper.  

 

Figura  27.  Logo  MapR  [22]    

Su   principal   desarrollo   se   centra   en   el   proyecto   Hadoop,   de   forma   que   han  

desarrollado  una  plataforma  que  se  presenta  como  tres  ediciones  para  satisfacer  las  

diferentes  necesidades  de  los  clientes  –  M3,  M5  y  M7  –  de  forma  que  cada  uno  aporta  

un  mayor  número  de   funcionalidades  respectivamente:  M3  contiene  básicamente  el  

paquete  del  framework  de  Hadoop  y  sus  correspondientes  herramientas,  y  es  la  única  

edición  gratuita.  

 

 

 

 

 

 

 

Análisis  de  las  Distribuciones  

-­‐  48  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

Ediciones  MapR  

 

M3  

Community  

Edition  

M5  

Enterprise  

Edition  

M7  

Enterprise  

Database  Edition  

Núcleo  Hadoop  y  

proyectos  open-­‐

source  

P   P   P  

Actuación   P   P   P  

Escalabilidad   P   P   P  

Basado  en  

estándares  P   P   P  

Direct  Access  NFS   P   P   P  

Manejabilidad   P   P   P  

Seguridad  

integrada  P   P   P  

Multitenencia   P   P   P  

Multitenencia  

avanzada     P   P  

Snapshots  

consistentes     P   P  

Alta  

disponibilidad     P   P  

Recuperación  de  

fallos     P   P  

Base  de  Datos  de   P     P  

 

Análisis  de  las  Distribuciones  

-­‐  49  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

MapR  integrada  

Soporte   P   P   P  

Soporte  comercial     P   P  

Soporte  Drill     P   P  

Soporte  Spark     P   P  

Soporte  HBase     P   P  

Soporte  Solr     P   P  

Soporte  Impala     P   P  

Cliente  POSIX   P   P   P  

Tabla  4.  Funcionalidades  Ediciones  MapR  [22]  

Independientemente   de   la   edición   con   la   que   se   trabaje,   MapR   trabaja   con  

algunas   de   las   herramientas   clásicas   del   ecosistema   de   Hadoop,   entre   las   que   se  

encuentran  las  siguientes  con  sus  correspondientes  versiones:  

 

 

 

 

 

 

 

 

 

 

 

 

 

Análisis  de  las  Distribuciones  

-­‐  50  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

Herramienta  Versión  

soportada  

Apache  Hadoop   2.3.0  

Hive   0.13.0  

Pig   0.12.0  

HBase   0.94.17  

Sqoop   1.4.4  

Flume   1.4.0  

MongoDB   3.0.0  

Oozie   4.0.0  

Spark   0.9.0  

Tez   0.4  

Storm   0.9.0  

Tabla  5.  Versiones  herramientas  MapR  [25]  

Como  innovación  al  Big  Data,  se  aportan  dos  nuevas  tecnologías:  un  sistema  de  

ficheros  –  MapR-­‐FS  –,  la  capa  de  acceso  Direct  Access  NFS  y  el  sistema  de  control  de  

nodos  Heatmap.    

 

4.3.1 MAPR-­‐FS  

MapR   ha   desarrollado   un   nuevo   sistema   de   ficheros   distribuido   compatible  

con   HDFS,   lo   que   permite   que   se   trabaje   con   todas   las   herramientas   de   Hadoop   y  

solucionar  algunos  problemas  inherentes  simultáneamente.  

La  principal   ventaja   se  observa  en  que  es  un   sistema   totalmente  distribuido.  

En   el   caso  de  HDFS  existe  un  nodo  que   contiene   todos   los  metadatos,   nodo  que   en  

 

Análisis  de  las  Distribuciones  

-­‐  51  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

este  modelo   ha   desaparecido.   Las   ventajas   que   este   sistema   de   ficheros   ofrece   son  

varias,   entre   las   que   se   puede   destacar   la   tolerancia   a   fallos:   si   se   cae   un   nodo,   al  

encontrarse  los  metadatos  en  todos  ellos,  se  replicarán  para  no  producir  una  caída  en  

el  sistema.  Otra  ventaja  destacable  es  que  se  mejora  el   rendimiento,  ya  que  el  nodo  

maestro  no  produce  cuellos  de  botella  para  los  accesos  a  los  ficheros  [23].  

 

4.3.2 DIRECT  ACCESS  NFS  

MapR  ha  creado  una  capa  de  abstracción  para  facilitar  el  acceso  a  su  sistema  

de  ficheros  distribuido,  MapR-­‐FS.    

Se   trata   de   un   estándar   que   permite   utilizar   el   navegador   de   ficheros   para  

acceder   a   los   datos   del   sistema   de   ficheros   local,   así   como   a   las   herramientas   sin  

necesidad  de  intermediarios  [24].      

 

4.3.3 HEATMAP  

Heatmap   es   la   herramienta   de   gestión   de   MapR   que   permite   monitorizar   y  

controlar   la   actividad   y   estado   de   salud   del   clúster.   Es   muy   sencilla   de   utilizar   y  

permite  visualizar  un  gran  número  de  nodos  para  controlar  los  posibles  errores.  

También   se   añaden   algunas   facilidades   para   la   administración   de   los   nodos  

como  conjunto,  en  lugar  de  tener  que  administrarlos  de  forma  individual  [25].  

A   continuación   se   presenta   una   imagen   del   gestor,   donde   se   observa   que   es  

muy  intuitivo  y  sencillo.  

 

Análisis  de  las  Distribuciones  

-­‐  52  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

Figura  28.  MapR  Heatmap  [25]  

 

4.4 COMPARATIVA  

A   continuación   se   va   a   realizar   una   comparativa   de   las   tres   distribuciones  

estudiadas  anteriormente.  Esta  comparativa  se  va  a   separar  en  distintas  categorías:  

herramientas   de   Hadoop,   productividad,   tolerancia   a   fallos,   rendimiento   y  

administración.   A   parte   de   estas   categorías   también   será   importante   destacar   las  

opiniones  de   los  expertos,  que  realizan  análisis  que   incluyen   también  muchos  otros  

campos.  

4.4.1 COMPARATIVA  DE  HERRAMIENTAS  

Se  va  a  estudiar  las  versiones  que  soportan  las  distribuciones  estudiadas  de  las  

distintas  herramientas.  Para  ello,  se  presenta  la  siguiente  tabla  comparativa.  

 

Análisis  de  las  Distribuciones  

-­‐  53  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

  Hortonworks   Cloudera   MapR  

Apache  Hadoop   2.6.0   2.5.0   2.3.0  

Apache  Avro   1.7.7   1.7.6   -­‐  

Apache  Flume   1.5.0   0.11.0   1.4.0  

Apache  HBase   0.98.4   0.98.6   0.94.17  

HBase-­‐Solr   4.10.0   1.5   -­‐  

Apache  Hive   0.14.0   0.13.1   0.13.0  

Hue   3.7.0   3.7.0   -­‐  

Apache  Mahout   0.9   0.9   -­‐  

Apache  Oozie   4.1.0   4.0.0   4.0.0  

Apache  Pig   0.14.0   0.12.0   0.12.0  

Apache  Spark   1.2.0   1.2.0   0.9.0  

Apache  Sqoop   1.4.5   1.4.5   1.4.4  

Apache  Whirr   0.9.0   0.9.0   -­‐  

Apache  Zookeeper   3.4.5   3.4.5   3.4.5  

MongoDB   3.0.0   3.0.0   3.0.0  

Tez   0.60   -­‐   0.4  

Storm   0.9.3   -­‐   0.9.0  

Tabla  6.  Comparativa  herramientas  Hadoop  

Al   observar   los   resultados   obtenidos   en   la   tabla   anterior   se   puede   observar  

que   cuanto   menos   modifique   una   distribución   el   núcleo   de   Hadoop,   más   facilidad  

tiene   dicha   distribución   para   adaptar   las   nuevas   versiones   de   las   herramientas.   Es  

decir,  Hortonworks,  que  es  completamente  open-­‐source,  es  la  que  tiene  las  versiones  

 

Análisis  de  las  Distribuciones  

-­‐  54  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

más  actualizadas  en   la  mayor  parte  de   las  herramientas.  También  es   la  distribución  

que   soporta   una   mayor   variedad   de   herramientas,   si   no   se   tienen   en   cuenta   las  

propias  que  desarrollan  algunas  distribuciones  (Impala  de  Cloudera  o  Direct  Access  

NFS  de  MapR).    Cloudera   también  soporta  una  gran  cantidad  de  herramientas,  muy  

útiles  

Aunque   en   la   tabla   no   se   menciona,   se   debe   destacar   que   las   tres  

distribuciones   soportan   el   nuevo   gestor   de   recursos   YARN.   La   relevancia   de   este  

hecho   reside   en   que   las   herramientas   que   se   basen   en   YARN,   podrán   ser   también  

soportadas  por  estas  distribuciones.  

 

4.4.2 COMPARATIVA  DE  PRODUCTIVIDAD  

En   este   apartado   se   van   a   analizar   las   capacidades   que   tienen   las  

distribuciones  a  la  hora  de  tratar  la  información,  su  productividad.  Esto  es  importante  

porque   hay   algunas   funcionalidades   muy   interesantes   para   las   distintas   fases   del  

tratamiento  de  Big  Data.  

 

  Hortonworks   Cloudera   MapR  

Análisis  de  datos  

con  interfaz  gráfica  Hue   Hue   -­‐  

Uso  de  HDFS  como  

sistema  de  ficheros    Fuse  DFS   Fuse  DFS   Direct  Access  DFS  

Buscador  de  

contenido  -­‐   Search   -­‐  

Consultas  de  alta  

capacidad  -­‐   Impala   -­‐  

Tabla  7.  Comparativa  productividad  

 

Análisis  de  las  Distribuciones  

-­‐  55  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

Como   se   puede   observar   en   la   tabla,   Cloudera   es   la   distribución   que   más  

herramientas  ha  desarrollado  con  el  propósito  de  mejorar  la  productividad.    

Cloudera   ha   desarrollado   su   propia   herramienta   de   consultas   interactivas,  

Impala,  que  realiza  las  consultas  prácticamente  en  tiempo  real,  mientras  que  el  resto  

realizan   las   búsquedas   a   través   de   MapReduce,   basado   en   procesamiento   batch,  

perdiendo  interactividad  con  el  usuario.  

También   Cloudera   es   la   única   que   ha   desarrollado   una   herramienta   de  

búsqueda  de  contenido  a  través  de  índices,  Search,  que  agiliza  las  consultas.    

 

4.4.3 COMPARATIVA  DE  TOLERANCIA  A  FALLOS  

En   siguiente   lugar   se   va   a   analizar   la   tolerancia   a   fallos   que   tienen   las  

distribuciones.  Esto  es,  en  caso  de  ocurrir  un  fallo,  qué  distribución  es  la  que  tiene  un  

sistema  de  recuperación  más  efectivo  o  que  produce  menos  pérdidas.  

  Hortonworks   Cloudera   MapR  

Alta  disponibilidad  

(HA)  de  HDFS  NameNode   NameNode   No  utiliza  HDFS  

Replicación  de  

MapReduce  JobTracker   JobTracker  

JobTracker  

mejorado  

Anulación  de  puntos  

de  entrada  únicos  -­‐   -­‐   MapR-­‐FS  

Mirroring   -­‐   -­‐  Copias  de  ficheros  

y  HBase  

Snapshots   Snapshots  HDFS   Snapshots  HDFS  

Snapshots  del  

sistema  de  

ficheros  y  HBase  

Tabla  8.  Comparativa  tolerancia  a  fallos  

 

Análisis  de  las  Distribuciones  

-­‐  56  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

Como  se  puede  observar,  MapR  es   la  distribución  que  más  se  ha  ocupado  de  

solventar   los   problemas   que   surgen   cuando   se   producen   fallos   del   sistema.   Ha  

conseguido  esto  mediante  la  eliminación  de  puntos  de  entrada  únicos  de  errores  del  

sistema  de   ficheros  gracias  a  que  se   trata  de  un   fichero  completamente  distribuido,  

sin  hacer  uso  de  un  NameNode.    

También   permite   realizar   Mirroring   y   Snapshots,   es   decir,   copias   de   los  

ficheros  en  un  sistema  diferente  y  capturas  del  estado  en  el  que  se  encuentran.  

 

4.4.4 COMPARATIVA  DE  RENDIMIENTO  

En  la  comparativa  de  rendimiento,  quedarán  indicadas  qué  distribuciones  son  

mejores   a   la   hora   de   realizar   análisis   a  mayor   velocidad,   ya   sea   por   el   lenguaje   de  

bases  de  datos  que  se  utiliza  o  por  la  velocidad  de  acceso  al  sistema  de  ficheros.    Se  ha  

tenido  en  cuenta  mayoritariamente  el  rendimiento  a  la  hora  de  realizar  las  consultas  

y  acceder  a  los  datos  almacenados,  ya  que  se  considera  que  son  las  fases  más  críticas  

en  lo  referido  al  rendimiento,  ya  que  luego  la  fase  de  análisis  no  produce  diferencias  

demasiado  relevantes.    

  Hortonworks   Cloudera   MapR  

Consultas  SQL  a  

través  de  Hive  y  Pig  Stinger   -­‐   -­‐  

Consultas  SQL   -­‐   Impala   -­‐  

Acceso  a  ficheros  en  

almacenamiento  -­‐   -­‐   Direct  Access  NFS  

Recolección  de  

muchos  datos  

paralelamente  

Sqoop   Sqoop   Sqoop  

Tabla  9.  Comparativa  rendimiento  

 

Análisis  de  las  Distribuciones  

-­‐  57  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

En   esta   categoría   se   puede   remarcar   Stinger,   proyecto   de   Hortonworks   que  

produce   mejoras   sobre   Hive,   aportándole   mayor   velocidad,   escalabilidad   aun   así  

permitiendo  las  consultas  SQL.    

También   es   importante   el   proyecto   Impala   que   permite   las   consultas  

interactivas,  que  son  lo  más  parecido  a  las  consultas  en  tiempo  real.  

El   ya   mencionado   NFS   de   MapR   acelera   el   acceso   al   sistema   de   ficheros  

también  muy  útil  a  la  hora  de  tener  en  cuenta  el  rendimiento  de  una  distribución.  

 

4.4.5 COMPARATIVA  RESUMEN  

Por   último   se   presenta   una   tabla   que   resume   por   encima   todas   las  

características  básicas  de  las  tres  distribuciones.  

 

  HORTONWORKS   CLOUDERA   MAPR  

Actuación  y  escalabilidad  

Recolección  de  

datos  Batch   Batch  

Batch  y  en  tiempo  

real  

Consultas   Batch   Tiempo  real   Batch  

Arquitectura  de  

metadatos  Centralizada   Centralizada   Distribuida  

Actuación  de  

HBase  Picos  de  latencia   Picos  de  latencia  

Latencia  baja  y  

consistente  

Aplicaciones  

NoSQL  

Sobretodo  

aplicaciones  batch  

Sobretodo  

aplicaciones  batch  

Aplicaciones  batch  

y  en  tiempo  real  

Dependencia  

Alta   Recuperación  de  un   Recuperación  de  un   Autocorrección  

 

Análisis  de  las  Distribuciones  

-­‐  58  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

disponibilidad   único  fallo   único  fallo   para  múltiples  

fallos  

MapReduce  HA  Reinicia  los  

trabajos  Reinicia  los  trabajos  

Continúa  sin  

reiniciarse  

Actualización  En  tiempo  de  

inactividad  Liberación  continua  

Liberación  

continua  

Replicación   Datos   Datos   Datos  y  metadatos  

Copia  

instantánea  de  

volumen  

Consistente  sólo  

para  ficheros  

cerrados  

Consistente  sólo  

para  ficheros  

cerrados  

Consistente  

puntualmente  para  

todos  los  ficheros  y  

tablas  

Recuperación  de  

desastre  No  

BDR  –  Copia  de  

ficheros  Mirroring  

Manejabilidad  

Herramientas  de  

gestión  Ambari   Cloudera  Manager   MapR  Heatmap  

Soporte  de  

volumen  No   No   Sí  

Heatmap,  

alarmas,  alertas  Sí   Sí   Sí  

Integración  con  

la  API  REST  Sí   Sí   Sí  

Control  de  datos  

y  de  trabajo  No   No   Sí  

Acceso  de  datos  

 

Análisis  de  las  Distribuciones  

-­‐  59  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

Acceso  al  

sistema  de  

ficheros  

HDFS,  NFS  sólo  en  

lectura  

HDFS,  NFS  sólo  en  

lectura  

HDFS,  NFS  para  

lectura  y  escritura  

(POSIX)  

Fichero  I/O   Sólo  anexado   Sólo  anexado   Lectura/escritura  

ACL  para  

seguridad  Sí   Sí   Sí  

Tabla  10.  Comparativa  general  [3]  

Con  esta  tabla  se  puede  observar  de  forma  general   las  ventajas  y  desventajas  

de  cada  una  de  las  distribuciones  que  se  han  analizado.  Con  ella,  una  vez  se  presenten  

las   conclusiones   generales,   será   más   sencillo   hacerse   una   idea   completa   de   qué  

conceptos  son  los  que  aporta  cada  distribución.  

 

4.4.6 OTRAS  COMPARATIVAS  

También   existen   otra   serie   de   factores   a   tener   en   cuenta   a   la   hora   de  

seleccionar  la  distribución  de  código  abierto  con  la  que  se  va  a  trabajar.    

Por  ejemplo,  se  debe  destacar  que  las  plataformas  de  Cloudera  (CDH)  y   la  de  

MapR  sólo  se  pueden  implementar  en  Linux,  mientras  que  Hortonworks,  con  DHP,  se  

puede  utilizar  con  Linux  y  con  Windows  Server.  

También   es   importante   destacar   la   presencia   en   el   mercado   de   las  

distribuciones.  Cloudera  es   la  distribución  que   lleva  mayor   tiempo  en  el  mercado  y  

por  lo  tanto  la  más  conocida.  Esto  influye  en  la  comunidad  existente,  que  respalda  la  

solución   y   por   lo   tanto   habrá   más   información   y   más   soporte.   En   los   casos   de  

Hortonworks  y  MapR,  no  se   trata  de  distribuciones   tan   implantadas  en  el  mercado,  

aunque   son   de   las   más   importantes   debido   a   sus   grandes   avances   que   están  

realizando  recientemente.  

 

Análisis  de  las  Distribuciones  

-­‐  60  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

Otro  aspecto  a   tener  en  cuenta  es  el   resultado  de   los  estudios  realizados  por  

empresas  como  Gartner.  Acudiendo  al  estudio  publicado  recientemente  acerca  de  las  

soluciones  de  Data  Warehouse  y  Data  Management  para  el  análisis,  se  puede  observar  

que  aparecen  varias  soluciones,   tanto  de  código  abierto  como  de  propietarios.  En  el  

campo   de   las   distribuciones   a   estudiar,   las   open-­‐source,   se   observa   que   aparecen  

tanto   Cloudera   como   MapR   dentro   del   cuadro   de   los   “challengers”,   donde   se  

encuentran  los  vendedores  con  un  mercado  significativo  que  aún  tienen  que  madurar  

en   sus   casos   de   uso   para   poder   expandirse.   Dentro   de   este   cuadro,   Cloudera   ha  

realizado   un   cambio   significativo   ya   que   ha   avanzado   desde   el   sector   de   los  

vendedores  de  nicho   a   los  challengers.  MapR   se  ha   introducido  por  primera   vez   en  

este  cuadro.  

En  el  informe  aparece  también  una  lista  de  otros  vendedores  a  tener  en  cuenta,  

en  la  que  aparece  también  Hortonworks,  ya  que  al  participar  en  la  iniciativa  Stinger,  

se   está   desarrollando   muy   rápidamente.   A   continuación   se   presenta   el   cuadrante  

mágico  del  informe  mencionado  anteriormente.  

 

Análisis  de  las  Distribuciones  

-­‐  61  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

Figura  29.  Cuadrante  mágico  de  Gartner  de  soluciones  de  Data  Warehouse  y  Data  Management  [26]  

Por   otro   lado,   se   ha   consultado   el   informe   sobre   soluciones   de   Big   Data  

Hadoop   de   Forrester   del   2014,   donde   se   ha   encontrado   que   aparecen   las   tres  

distribuciones   que   se   han   estudiado   y   que,   además,   aparecen   muy   cercanas   y   con  

aproximadamente   la  misma  presencia   en   el  mercado,   y   lo  más   importante,   las   tres  

aparecen  como  líderes.  Aunque  no  es  decisivo,  este  informe  lleva  a  pensar  que  estas  

tres   distribuciones   tienen   mucha   relevancia   y   que   por   lo   tanto   el   estudio   se   ha  

focalizado  acertadamente  en  las  distribuciones  más  destacadas.  

 

 

Análisis  de  las  Distribuciones  

-­‐  62  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

Figura  30.  Forrester  Wave  sobre  soluciones  Big  Data  Hadoop  [27]  

 

4.4.7 CONCLUSIONES  

Con   el   estudio   realizado,   se   ha   observado   que   las   tres   distribuciones   en  

cuestión  tienen  sus  pros  y  sus  contras.    

No  obstante,  a   la  hora  de  discernir  cuál  se  va  a  utilizar  para   implementar  un  

caso  de  uso  específico,  se  ha  tenido  muy  en  cuenta  la  productividad  de  la  distribución,  

que  será  fundamental  para  poder  realizar  las  pruebas  deseadas.  Como  se  trata  de  un  

estudio  a  pequeña  escala  para  aprender  los  posibles  usos  de  esta  tecnología  que  está  

en  auge,  no  se  ha  tenido  muy  en  cuenta  la  tolerancia  a  fallos  ni  las  herramientas  que  

son   soportadas   por   la   distribución,   ya   que   son   características   que   no   son  

especialmente  determinantes.  Sin  embargo,  si  se  tratase  de  un  entorno  mayor  o  con  

 

Análisis  de  las  Distribuciones  

-­‐  63  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

datos   más   críticos,   sí   que   se   tendrían   que   tener   más   en   cuenta   las   otras  

características.  

También   es   destacable   en   la   decisión   la   presencia   en   el   mercado   de   la  

distribución,   ya   que   al   aplicar   la   distribución   en   la   empresa,   se   hará   uso   de   este  

tratamiento   de   información   con   los   clientes   que   lo   precisen,   y   por   lo   tanto   será  

necesario  hacer  uso  de  una  plataforma  que  sea  útil  para  todas  estas  empresas.    

Atendiendo   a   estas   decisiones,   en   las   que   se   valora   la   importancia   de   cada  

factor,  se  ha  llegado  a  la  conclusión  de  que  la  distribución  que  mejor  se  ajusta  a  estos  

requisitos  es  Cloudera,  por   lo  que  se  hará  uso  de  su  plataforma  CDH  para  probar  el  

caso  de  uso.  

   

 

Análisis  de  las  Distribuciones  

-­‐  64  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

   

 

Diseño  de  la  plataforma  

-­‐  65  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

Capítulo  5 DISEÑO  DE  LA  PLATAFORMA  

En   siguiente   lugar   se   va   a  describir   el   caso  de  uso  que   se   va   a   implementar,  

obtenido  de  la  lista  de  escenarios  definidos  en  el  proyecto  de  Natalia  Lizaso,  “Análisis  

de   soluciones   para   la   implementación   de   una   plataforma   Big   Data”.   Para   ello,   será  

necesario  especificar  la  arquitectura  sobre  la  que  se  apoyará  la  plataforma  a  emplear  

de  Cloudera,  CDH,  y   a   continuación   se  definirá  el  uso  que   se  hará  de   la  plataforma,  

donde   se   incluirán   las   herramientas   necesarias   para   el   completo   tratamiento   de   la  

información.  

Este  escenario  específico  se  ha  considerado  óptimo  para  situaciones  en  las  que  

se  busca  una  solución  bien  posicionada  en  el  mercado  y  con  una  amplia  experiencia.    

Para  la  implementación  del  sistema  se  han  planteado  dos  posibles  soluciones:  

la  primera  que  se  va  a  desarrollar  es  la  que  se  debería  desarrollar  en  un  entorno  de  

trabajo   real,   haciendo   uso   de   varios   nodos   hospedados   en   servidores   físicos,   y   un  

entorno   de   laboratorio,   en   el   que   se   hará   uso   de   un   único   nodo   y   es   el   que   se  

empleará  para  el  proyecto.    

 

5.1 DESCRIPCIÓN  DEL  CASO  DE  USO  

Como  se  ha  comentado,  el  caso  de  uso  que  se  va  a  desarrollar  está  basado  en  el  

proyecto   “Análisis   de   soluciones   para   la   implementación     de   una   plataforma   Big  

Data”.  

Este   escenario   se   considera   óptimo   para   aquellas   empresas   que   buscan   una  

solución   bien   posicionada   en   el   mercado,   lo   que   aporta   grandes   beneficios   a   la  

empresa  en  cuestión.  Esto  se  debe  a  que  estas  soluciones  tienen  por  detrás  un  gran  

respaldo  en  lo  referido  a  herramientas  a  emplear,  así  como  una  gran  comunidad  a  la  

 

Diseño  de  la  plataforma  

-­‐  66  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

que  se  puedan  realizar  consultas.  Es  por  tanto  que  se  selecciona  la  distribución  open-­‐

source  Cloudera,  ya  que  está  considerada  por   los  expertos  como  una  de   las  mejores  

distribuciones,  ya  sea  por  su  rendimiento,  por  su  gran  capacidad  para  dar  soporte  a  

los  usuarios  y  por  la  gran  cantidad  de  herramientas  propias  de  Hadoop  con  las  que  es  

compatible.    

Para   la   realización   de   este   proyecto   se   considera   de   gran   utilidad   este  

escenario,   puesto   que   se   va   a   desarrollar   una   plataforma   que   analice   datos   de   las  

redes  sociales.  

Dentro   de   las   redes   sociales   más   conocidas,   como   pueden   ser   Facebook,  

Instagram  o  Twitter,  se  ha  decidido  seleccionar  esta  última  debido  a  que  ofrece  una  

API   que   permite   descargar   datos   de   dicha   red   social   para   poder   trabajar   con   ellos  

[30].  

Entre   las   varias  opciones  que  presenta   esta  API,   como  puede   ser   el   acceso  a  

una   cuenta   en   función   del   usuario,   de   forma   que   se   puedan   ver   los   usuarios   o   los  

seguidores,  se  encuentra  la  que  se  va  a  desarrollar  en  este  proyecto.  

Se  trata  de  buscar  tweets  que  contengan  un  determinado  hashtag.  Con  ello  se  

podrá   analizar   la   evolución   de   dicho  hashtag   en   función   del   tiempo,   determinando  

por  ejemplo  el  número  de  tweets  que  se  generan  en  función  de  la  franja  horaria.  

Este  análisis  permitirá  extraer  conclusiones  acerca  del  uso  de  la  red  social  en  

función  del  hashtag.    

Para  reducir  el  número  de  tweets  que  puedan  salir,  y  conseguir  así  un  análisis  

más  rápido,  se  filtrará  la  localización  de  dichos  tweets  en  función  de  coordenadas  que  

cerrarán  la  región  a  tener  en  cuenta,  que  en  este  caso  será  el  territorio  español  (sin  

tener  en  cuenta  los  archipiélagos,  pero  sí  Portugal).  

 

 

Diseño  de  la  plataforma  

-­‐  67  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

5.2 ENTORNO  DE  TRABAJO  REAL  

Para   este   entorno   de   trabajo   será   necesario   definir,   en   primer   lugar,   la  

arquitectura,  o  el   entorno  en  el  que   se  desarrollará   la  plataforma,  especificando   los  

componentes  hardware  y  software  que  se  emplean  para  el  desarrollo.    

ü El  ordenador  portátil  del  que  se  hace  uso,  en  el  que  se  realiza  el  desarrollo  de  

los  componentes,  con  sistema  operativo  Windows.  Como  para  hacer  uso  de  la  

distribución  Cloudera  es  necesario  utilizar  Linux,   se   instala   en  el   equipo  una  

máquina  virtual  Linux,  en  su  versión  CentOs.  

ü En   el   servidor   se   instala   una   plataforma   de   virtualización,   que   permite  

hospedar   los   nodos   del   sistema.   Esta   plataforma   es   la   propia   de   VMWare  

Player.  

ü En  esta  virtualización  se  hospedarán  los  nodos,  que  serán  máquinas  virtuales,  

con  sistema  operativo  Linux  Ubuntu,  ya  que  se  trata  de  un  sistema  operativo  

compatible  con  Cloudera.  Estos  nodos  son  clones  de  la  máquina  virtual  que  se  

tiene  en  el  ordenador  portátil.  

ü Como  Hadoop  se  basa  en  una  arquitectura  maestro-­‐esclavo,  en  la  que  existe  un  

nodo  maestro  que  se  encarga  de  distribuir  la  carga  de  trabajo  entre  los  nodos  

esclavos,   será   necesario   que   haya   un   nodo   que   sea   maestro,   realizando   los  

servicios   de   NameNode   de   HDFS   y   Job   Tracker   en   MapReduce.   El   resto   de  

nodos   serán   esclavos,   o   nodos  de   trabajo,   por   lo   que   se   ejecutarán   en  modo  

esclavo,  DataNode   y   TaskTracker.   El   número   de   estos   nodos   será   tres,   para  

poder   comprobar   el   funcionamiento   de   esta   arquitectura.   Las   máquinas  

virtuales  mencionadas  anteriormente  serán  las  que  hagan  las  funciones  de  los  

distintos  nodos.    El  número  de  nodos  esclavos  dependerá  de   las  necesidades  

del  cliente,  buscando  siempre  el  punto  óptimo  en  cuanto  a  rendimiento.  

ü Para  gestionar  y  administrar  los  nodos  que  se  hospedan  en  el  servidor,  se  hace  

uso  de   la  aplicación  Virtual   Infrastructure  Client,  propia  de  VMWare  con  una  

interfaz   gráfica   que   facilita   el   proceso.   Permite   conectarse   al   servidor,  

 

Diseño  de  la  plataforma  

-­‐  68  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

administrar   el   estado  de   las  máquinas  virtuales   y   acceder   a   la   consola.     Este  

software  se  instalará  en  el  ordenador  portátil  en  cuestión.  

 

5.3 ENTORNO  DE  TRABAJO  DE  LABORATORIO  

Para  desarrollar  el  entorno  de  trabajo  de  prueba,  se  define  una  arquitectura  de  

laboratorio,  en  la  que  únicamente  será  necesario  un  nodo  que  haga  las  funciones  de  

maestro  y  esclavo,  por  lo  que  no  es  necesario  hacer  uso  de  servidores  que  hospeden  

máquinas  virtuales.    

Para   poder   hacer   uso   de   la   distribución   Cloudera,   se   deberá   instalar   en   un  

ordenador   que   tenga   el   sistema   operativo   Windows,   la   máquina   virtual   de   dicha  

distribución,  en  la  que  se  deberán  instalar  además  las  herramientas  que  se  necesiten  

emplear.    

La   máquina   virtual   que   se   emplea   tiene   el   sistema   operativo   Linux,   cuya  

distribución  es  CentOs  6.4.  Esta  máquina  virtual  permitirá  hacer  uso  del  nodo  del  que  

se  hará  uso  para  el  correcto  tratamiento  de  la  información.    

 

5.4 DISEÑO  DE  LA  PLATAFORMA  

Una   vez   se   tiene   instalada   la   infraestructura   anterior,   se   puede   proceder   al  

diseño  de  la  plataforma  que  permita  obtener,  almacenar  y  hacer  uso  de  los  datos  en  

cuestión.  

Para  ello,   se  debe  definir  qué  herramientas  se  van  a  emplear  para  realizar  el  

tratamiento   completo   de   la   información.   Estas   herramientas,   como   se   menciona  

anteriormente,   se   distinguen   en   varias   categorías.   Será   necesario   cubrir   todas   las  

 

Diseño  de  la  plataforma  

-­‐  69  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

categorías,  seleccionando  las  herramientas  que  sean  compatibles  con  Cloudera  y  que  

sean  óptimas  para  el  caso  a  desarrollar.  

Las  herramientas  que  se  han  seleccionado  han  sido  las  siguientes:  

ü Flume.  Se  trata  de  un  servicio  distribuido,  confiable  y  disponible  para  colectar,  

agregar   y   mover   eficientemente   grandes   cantidades   de   datos   de   una   fuente  

hacia   alguna   otra   localidad,   en   este   caso   a   Hadoop.   Tiene   una   arquitectura  

simple  y  flexible,  basada  en  streaming.  Es  una  herramienta  robusta  y  tolerante  

a   fallos,   con   mecanismos   configurables   y   de   recuperación   [5].   Es   la  

herramienta  que  se  utilizará  para  la  recolección  de  los  datos.  

 

Figura  31.  Logo  Flume  [5]  

ü HDFS.  Es  el  sistema  de  almacenamiento  propio  de  Hadoop,  y  se  trata  de  un  

sistema  de  almacenamiento  distribuido  en   ficheros  que   trata  de  optimizar  el  

posterior   tratamiento   que   se   quiera   realizar   de   la   información   [2].     Por   lo  

tanto,   esta   herramienta   se   empleará   para   almacenar   los   datos   obtenidos  

mediante  Flume.  

 

 

 

 

 

 

Figura  32.  Logo  HDFS  

 

Diseño  de  la  plataforma  

-­‐  70  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

ü MapReduce.   Como   se   ha   mencionado   anteriormente,   MapReduce   es   un   job  

tracker  que  permite  reducir   las  grandes  masas  de   información  a  un  volumen  

muy   inferior   para   poder   realizar   consultas   mucho   más   rápidas   y   eficientes.  

Esta  herramienta  permitirá  que  se  realicen  los  análisis  a  mayor  velocidad  [2].    

 

 

 

 

 

 

ü Hive.  Es  un  software  de  Apache  que  facilita  la  búsqueda  y  gestión  de  grandes  

cantidades  de  datos  alojados  en  un  almacén  distribuido.  Provee  un  mecanismo  

para  proyectar  una  estructura  en  unos  datos,  a  través  de  un  lenguaje  similar  a  

SQL,   HiveQL   [6].   Se   trata   por   tanto   de   un   lenguaje   que   da   soporte   al  

almacenamiento.  

 

Figura  34.  Logo  Hive  [6]  

ü Finalmente,   para   mostrar   la   visualización   de   datos   se   hará   uso   de   la  

herramienta   desarrollada   por   Tableau,   que   ofrece   una   interfaz   sencilla   e  

intuitiva   que   ofrece   gráficos   estadísticos   acerca   de   los   datos   que   han   sido  

analizados  [7].  Esta  herramienta  será  especialmente  interesante  puesto  que  es  

la  que  mejor  conecta  con  la  distribución  Cloudera.  

Ilustración  33.  Logo  MapReduce  

 

Diseño  de  la  plataforma  

-­‐  71  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

Figura  35.  Logo  Tableau  [7]  

 

Por  lo  tanto,  con  las  herramientas  seleccionadas,  se  puede  realizar  un  análisis  

completo  de  la  información.  

 En   el   siguiente   diagrama   se   muestra   cómo   se   relacionan   las   diferentes  

herramientas  que  conforman  el  sistema,  indicando  así  el  flujo  que  tendrán  los  datos.  

Como  se  puede  observar,  los  datos  se  extraerán  de  Twitter,  que  ofrece,  con  una  

API  REST,  acceso  a  sus  datos,  de  forma  que  estos  se  puedan  descargar  y  trabajar  con  

ellos.  Estos  tweets  se  descargan  a  través  de   la  herramienta  Flume,  que  los  almacena  

en  el  sistema  de  ficheros  HDFS.  

Figura  36.  Flujo  de  la  información  

 

Diseño  de  la  plataforma  

-­‐  72  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

En   siguiente   lugar,   los   datos   se   procesarán   con   MapReduce,   que   permitirá  

obtener   una   información   mucho   más   simplificada   y   reducida   para   que   se   puedan  

realizar   consultas   lo   más   óptimas   posible   con   la   herramienta   Hive,   que   posee   su  

propio   lenguaje  de  consultas,  que  enviará  a   la  herramienta  de  visualización  Tableau  

los  datos  que  se  deben  representar.  

Finalmente,   gracias   a   Tableau,   se   podrán   representar   una   serie   de   tablas   y  

estadísticas   sobre   la   información   que   se   descargó   inicialmente.   Estos   gráficos  

permitirán   obtener   conclusiones   para   así   poder   buscar   posicionarse   mejor   en   el  

entorno  de  las  redes  sociales,  que  es  el  caso  de  uso  que  se  busca  con  este  análisis  de  la  

información.  

 

   

 

Implementación  de  la  plataforma  

-­‐  73  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

Capítulo  6 IMPLEMENTACIÓN  DE  LA  PLATAFORMA  

A   continuación   se   procede   a   realizar   la   implementación   de   la   plataforma  

propuesta.  Una  vez  instalado  todo  el  software  en  el  equipo,  se  procede  a  recolectar  los  

tweets  para  poder   realizar  el   análisis  de   la   información,   siguiendo  el  esquema  de   la  

arquitectura   propuesta   para   Big   Data,   y   haciendo   uso   de   las   herramientas  

especificadas.  

Antes   de   empezar   la   implementación,   es   necesario   conocer   el   entorno   de   la  

máquina  virtual  con  la  que  se  va  a  trabajar,  así  como  las  ventajas  que  ésta  ofrece.    

Como  se  comentó  en  la  descripción  de  la  distribución  Cloudera,  ésta  ofrece  un  

servicio   de   gestión   denominado   Cloudera   Manager,   gracias   al   cual   se   pueden  

gestionar  todas  las  herramientas  que  son  compatibles.    

Se  trata  de  una  interfaz  gráfica  que  permite  controlar  los  nodos  con  los  que  se  

trabajan   en   el   caso   de   una   implementación   multi-­‐nodo,   así   como   el   estado   de   los  

nodos  de   las   herramientas.   En   la   imagen  que   se  muestra   a   continuación   se  pueden  

observar   las   diferentes   herramientas   que   se   pueden   controlar   desde   Cloudera  

Manager.  

 

Implementación  de  la  plataforma  

-­‐  74  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

Figura  37.  Servicios  que  gestiona  Cloudera  Manager  

Como   se   puede   observar,   en   el   clúster   sólo   existe   un   host,   mientras   que   se  

están  ejecutando  dos  procesos  de  HDFS  y  uno  de  Zookeeper.  A   la   izquierda  de  cada  

herramienta  aparece  el  estado  en  el  que  se  encuentra  cada  servicio,  donde  se  puede  

ver  que  algunos  están  parados  y  otros  están  esperando  a  que  se  acabe  de  inicializar  el  

sistema.  

 

6.1 RECOLECCIÓN  DE  DATOS  

La  información,  procedente  de  las  redes  sociales,  en  este  caso  Twitter,  se  va  a  

recopilar   con   la   herramienta   Flume.   Esta   herramienta,   como   se   mencionó  

anteriormente,  es  de  gran  utilidad  para  este  caso  en  particular,  ya  que  a  través  de  una  

 

Implementación  de  la  plataforma  

-­‐  75  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

API  REST  que  proporciona  la  red  social  Twitter,  permite  conectarse  directamente  con  

el   sistema   a   emplear   en   el   almacenamiento   (HDFS),   y   volcarlo   de   una   forma   muy  

sencilla.  

Esta  herramienta  se  basa  en  los  siguientes  componentes:  

ü Los   componentes   de   Flume   se   ejecutan   en   un   agent,   un   proceso   Java  

encargado  de  almacenar  el  resto  de  componentes  de  Flume,  que  se  lanza  para  

realizar  la  funcionalidad  que  se  haya  configurado.  

ü La   información   que   fluye   por   el   sistema   de   Flume   se   denomina   event.   Es   la  

carga  útil  básica  de  los  datos  que  se  transportan.  Están  formados  por  el  cuerpo  

y   una   serie   de   cabeceras,   que   son   opcionales   e   indican   decisiones   de  

enrutamiento  u  otra  información  estructurada.    

ü El  source  es  el  origen  del  que  se  extraen  los  datos,  por  donde  van  a  entrar  los  

datos  en  Flume.  Existe  una  gran  variedad  de  fuentes,  pero  están  limitadas,  ya  

que  el  sistema  debe  entender  el  tipo  de  event  que  se  recibe.  

ü El  área  en  el  que  esperan  los  eventos  al  salir  del  source  se  denomina  channel.  

Se   trata   de   un   almacenamiento   temporal   para   que   el   componente   anterior,  

source,   y   el   siguiente,   sink,   puedan   funcionar  asíncronamente.  Hay  dos   tipos:  

en   memoria,   que   implica   que   los   eventos   se   almacenan   en   la   memoria  

principal,  haciéndola  más  rápida  que  un  disco;  y  en  archivos,  que  es  más  lento  

pero   proporciona   un   almacenamiento   más   duradero.     Para   este   caso   se  

empleará  el  canal  de  memoria.  

ü El   sink   es   el   componente   que   recibe   los   eventos   del   channel.   Flume   soporta  

varios  destinos,  siendo  el  más  típico  el  sistema  de  ficheros  distribuido  propio  

de  Hadoop,  HDFS.  Por  lo  tanto,  su  función  es  volcar  los  eventos  que  entran  en  

el  source  y   se  almacenan  en  el  channel   sobre  un  archivo  HDFS.  Para  hacer  el  

sistema  de  tratamiento  Big  Data  más  eficiente,  estos  datos  se  almacenarán  en  

ficheros  de  gran  tamaño.  

 

 

Implementación  de  la  plataforma  

-­‐  76  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

6.1.1 CONFIGURACIÓN  

En  siguiente  lugar  se  presentan  las  partes  más  relevantes  de  la  configuración  

del  agente  de  Flume:  

ü En  primer   lugar   se  definen   los  nombres  del   source,   del  channel   y  del   sink   de  este  agente  en  concreto.    

twitterAgent.sources = s1 twitterAgent.channels = c1 twitterAgent.sinks = k1

 ü Es   importante   definir   el   tipo   de   fuente.   Puesto   que   los   datos   provienen   de  

Twitter,  será  importante  establecer  la  ruta  en  la  que  se  encuentra  el  medio  de  descarga.   Esta   ruta   viene   dada   por   el   archivo   de   java   (.jar)   en   el   que   se  encuentran  las  librerías  de  la  herramienta.    Para   tener   acceso   a   datos   de   Twitter,   es   necesario   crear   una   aplicación   de  desarrollador  a  partir  de  un  usuario  de  la  red  social.  Esta  aplicación  aporta  al  usuario  4  claves  secretas  que  serán  necesarias  en  la  propia  configuración  del  agente   para   permitir   dicho   acceso   (Consumer   key,   Consumer   secret,   Access  token  y  Access  token  secret).  Al   configurar   la   fuente   se   establecen   los   criterios   de   búsqueda   que   se   han  definido  para  este  caso  de  uso.  En  este  caso  particular  se  deberán  definir  unas  coordenadas  geográficas  que  limiten  el  territorio,  así  como  una  palabra  clave,  que  será  el  hashtag  de  búsqueda  de  los  tweets.  También  se  definen  otras  características  de  menor  relevancia,  como  el  tamaño  de  los  ficheros  de  descarga.    

twitterAgent.sources.s1.type = com.cloudera.flume.source.TwitterSource

twitterAgent.sources.s1.channels = c1

twitterAgent.sources.s1.consumerKey = <consumer_key>

twitterAgent.sources.s1.consumerSecret = <consumer_secret>

twitterAgent.sources.s1.accessToken = <access_token>

twitterAgent.sources.s1.accessTokenSecret = <access_token_secret>

twitterAgent.sources.s1.keywords = #vacaciones

twitterAgent.sources.s1.swLngLat = -10.129395, 35.790526

twitterAgent.sources.s1.neLngLat = 3.823242, 43.321181

 

 

Implementación  de  la  plataforma  

-­‐  77  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

ü En  lo  referido  al  canal,  tal  y  como  se  comentó  anteriormente,  se  define  del  tipo  memoria,  indicando  además  la  capacidad  que  tendrá  este  canal.    

twitterAgent.channels.c1.type=memory twitterAgent.channels.c1.capacity = 10000 twitterAgent.channels.c1.transactionCapacity = 100

 ü Finalmente   se   definirán   las   características   propias   del   destino   en   el   que   se  

almacenará  la  información.  Este  destino  es  de  tipo  HDFS,  por  lo  que  se  deberá  especificar  la  ruta  de  destino  y  algunos  otros  atributos,  como  el  tipo  de  fichero  del  que  se  trate  o  el  formato  en  el  que  se  guardará  la  información.      

twitterAgent.sinks.k1.type=hdfs twitterAgent.sinks.k1.channel=c1 twitterAgent.sinks.k1.hdfs.path=/user/cloudera/flume/tweets/%{file} twitterAgent.sinks.k1.hdfs.filePrefix=tweets twitterAgent.sinks.k1.hdfs.fileType=DataStream twitterAgent.sinks.k1.hdfs.writeFormat=Text

 

6.1.2 EJECUCIÓN  

Para  ejecutar  el  agente  de  Flume  se  debe  ejecutar  el  siguiente  comando,  que  se  

explicará  por  partes  en  siguiente  lugar.  

flume-ng agent -–conf /home/cloudera/ -n twitterAgent –f

/home/cloudera/Agent.conf –Dflume.root.logger=INFO,console

  Se  observa  que  se  lanza  un  agente  de  Flume,  cuyo  fichero  de  configuración  se  

encuentra   en   la   carpeta   indicada   con   ––conf,   el   nombre   del   agente   que   se   ejecuta  

viene   indicado   con   –n   y   el   fichero   en   cuestión   se   referencia   con   el   indicador   –f.    

Finalmente   se   añade   una   indicación   para   mostrar   por   la   consola   información   de  

proceso.    

 

 

Implementación  de  la  plataforma  

-­‐  78  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

6.2 ALMACENAMIENTO  DE  DATOS  

Para  el  almacenamiento  de  los  datos  se  emplea  la  herramienta  HDFS,  Hadoop  

Distributed  File  System,  es  decir,  un  sistema  de  ficheros  distribuido.  

  El   uso   de   este   sistema   es   transparente,   puesto   que   no   se   puede   ver   cómo  

almacena  este  sistema  los  ficheros  ni  los  módulos  que  crea.  No  obstante,  se  sabe  cómo  

es  el  sistema  en  sí,  teniendo  un  nodo  maestro  y  varios  nodos  esclavos  que  almacenan  

los   ficheros  en  partes,  de   forma  que   cada  parte   irá  a  un  nodo  diferente,   gestionado  

por  el  maestro.  

  Aún   así,   gracias   al   sistema   Hadoop,   sí   que   se   puede   acceder   a   través   del  

navegador   al   sistema   de   archivos   para   visualizar   qué   contenidos   se   encuentran  

almacenados   en   la   ruta   que   se   ha   especificado   en   la   configuración   del   agente   de  

Flume,  como  se  muestra  en  la  siguiente  imagen.  El  acceso  se  realiza  a  través  de  la  URL  

localhost:50070/explorer.html/,  que  muestra  las  carpetas  existentes.    

 

 

Figura  38.  Sistema  de  ficheros  HDFS  

  Como  se  menciona  en  el  apartado  de  recolección  de  datos,  se  buscarán  ficheros  

de   gran   tamaño   para   que   el   sistema   sea   lo   más   eficiente   posible,   si   bien   este  

parámetro  se  define  en  la  configuración  de  dicha  herramienta.  

 

Implementación  de  la  plataforma  

-­‐  79  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

  Por  lo  tanto,  se  considera  que  los  ficheros  están  almacenados  de  la  forma  más  

eficiente   posible   y   que   se   puede   acceder   a   dichos  datos   de  una   forma  muy   sencilla  

para   trabajar   con   ellos;   sólo   es   necesario   acceder   a   través   de   la   ruta   en   la   que   se  

encuentran   almacenados.   Para   trabajar   con   estos   datos,   Hadoop   se   basa   en   los  

comandos  de  Linux,  como  –cp  para  copiarlos  o  -­‐rm  para  borrarlos.  

   

6.3 PROCESAMIENTO  DE  DATOS  

En   este   caso,   los   datos   no   requieren   de   un   análisis   de   gran   profundidad,  

aunque  se  considera  que  para  trabajar  lo  más  rápidamente  posible,  se  deben  procesar  

con   un   sistema   de   MapReduce.   Por   lo   tanto,   los   datos   se   procesan   para   verse  

reducidos.    

Un   sistema  MapReduce   funciona  a  partir  de  un  par  de  datos:  una   clave  y  un  

valor.  El  propósito  de  esta  herramienta  es  por  tanto  obtener  los  datos  en  el  siguiente  

formato:  

(clave,  valor)  

En  este  caso  en  particular,  la  clave  corresponde  a  la  fecha  de  creación  del  tweet  

y  su  hora  en  un  formato  que  más  adelante  nos  permita  ordenarlo  y  hacer   los  filtros  

oportunos,   mientras   que   el   valor   representará   el   número   de   repeticiones   que   se  

obtenga  para  dicha  clave.    

Por  lo  tanto,  un  ejemplo  que  se  obtendrá  de  este  proceso  será  el  siguiente:  

(09-­‐07-­‐15  12:30:00,  6)  

De  donde  se  interpreta  que  se  han  escrito  6  tweets  el  día  9  de  julio  de  2015  a  

las  12:30  de  la  mañana,  siempre  teniendo  en  cuenta  las  restricciones  geográficas    y  el  

hashtag  que  se  han  utilizado  como  filtro.  

La   herramienta   MapReduce   se   basa   en   un   código   Java   que   consta   de   tres  

clases:  

 

Implementación  de  la  plataforma  

-­‐  80  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

ü Driver.  Esta  clase  se  encarga  de  asignar   las   funcionalidades  que  realizarán  el  

proceso   de   reducción   de   la   información.   Es   decir,   indica   qué   clase   es   la  

encargada   de   realizar   el   mapeo   y   qué   clase   reduce   el   mapeo   realizado,   así  

como  otras  funcionalidades  que  se  explicarán  en  más  detalle  en  el  apartado  de  

configuración  

ü Mapper.   Esta   clase,   como   se   ha   mencionado,   es   la   encargada   de   mapear   la  

información.   Es   decir,   acude   al   sistema   de   ficheros   en   el   que   están  

almacenados  los  tweets  para    

ü Reducer.   Esta   clase   es   la   encargada   de   coger   los   pares   y   reducirlos.   En   este  

caso   es   muy   sencillo,   puesto   que   únicamente   tiene   que   encontrar   los   que  

tienen   el   primer   valor   igual   e   ir   sumando   aquellos   que   sean   iguales   para  

obtener  el  valor  total.  

 

6.3.1 CONFIGURACIÓN  

En  este  apartado  se  comentarán  las  partes  más  destacables  del  código  Java  del  

MapReduce.    

ü En   el   caso   de   la   configuración   del  Driver,   se   definirán   las   clases   Mapper   y  Reducer  en  sus  respectivos  campos.    

job.setMapperClass(MiMapper.class); job.setReducerClass(MiReducer.class);

Es  importante  también  definir  el  fichero  del  que  se  van  a  extraer  los  datos,  así  como  el   fichero  de  destino  donde  se  almacenarán.  Estos  datos   se   introducen  por  línea  de  comandos  al  ejecutar  el  código,  por  lo  que  se  tienen  en  cuenta  los  argumentos  introducidos.    

FileInputFormat.setInputPaths(job, new Path(args[0])); FileOutputFormat.setOutputPath(job, new Path(args[1]));

 También  se  pueden  definir  otra  serie  de  funcionalidades,  como  el  número  de  procesos  que  se  van  a  utilizar  para  reducir  los  datos.  En  este  caso  particular  se  

 

Implementación  de  la  plataforma  

-­‐  81  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

definirán   2,   ya   que   el   procesamiento   que   se   va   a   realizar   no   es   sobre   una  cantidad  demasiado  extensa  de  datos  y  será  un  valor  suficiente.  Más  adelante,  cuando   se   observen   los   resultados   de   este   proceso,   se   observará   que  efectivamente   se   han   creado   dos   ficheros   diferentes,   cada   uno  correspondiente  a  un  proceso.    

job.setNumReduceTasks(2);

 También  se  deberá  definir  el  formato  de  las  claves  y  valores  con  los  que  se  va  a  trabajar  en  el  proceso  de  mapeo  y  reducción,  que  en  este  caso  será  Text  para  la  clave  e  IntWritable  para  el  valor.    

job.setMapOutputKeyClass(Text.class); job.setMapOutputValueClass(IntWritable.class); job.setOutputKeyClass(Text.class); job.setOutputValueClass(IntWritable.class);

 ü Para  la  configuración  del  Mapper  se  debe  destacar  la  existencia  de  una  función  

map(),   que   es   la   encargada   de   obtener   la   información   en   el   formato   que  entiende  MapReduce,  con  la  clave  y  el  valor.    En   primer   lugar,   como   los   datos   descargados   de   Twitter   se   encuentran   en  formato  JSON,  se  deberá  definir  un  objeto  de  este  tipo,  incluyendo  con  ello  las  librerías  oportunas,  que  se  descargarán  aparte.  Gracias  a  este  objeto   JSON  se  puede  acceder  a  todos  los  campos  que  contiene,  entre  ellos  “created_at”,  que  es  la  fecha  de  creación  de  cada  tweet,  el  que  será  necesario.      

JSONObject json = new JSONObject(line); … String date = json.getString("created_at");

 Como  el  formato  de  la  fecha  que  proporciona  Twitter  es  del  tipo  “Wed  Jul  09  

12:38:04  +0000  2015”,  y  no  es  el  que  se  necesita,   se  creará  una   función  que  

transformará   dicha   fecha   en   la   que   se   necesita   (09-­‐07-­‐15   12:38:04),   si   bien  

como  los  segundos  no  son  necesarios  para  analizarlos,  se  igualarán  a  cero.  

Finalmente,   se  escribe  en  el   contexto  del  proceso  MapReduce  cada  clave  con  

valor  1.    

 context.write(new Text(clave), new IntWritable(1));

 

 

Implementación  de  la  plataforma  

-­‐  82  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

Esta  función  map()  se  ejecuta  una  vez  por  cada  línea  del   fichero  del  que  está  

leyendo,  por   lo  que  se  crearán  tantas  claves  como  líneas  haya,  y  en  este  caso  

cada  línea  corresponde  a  un  tweet.  

 

ü Finalmente,   la   configuración   del   Reducer   debe   realizar   una   suma   de   todos  

aquellos  pares  que  tengan  la  misma  clave.  Para  ello,  con  la  función  reduce(),  se  

define  un  bucle  que  se  encarga  de  sumar  todos  los  pares  que  tengan  la  misma  

clave,  introduciendo  el  valor  obtenido  en  el  segundo  elemento  del  par.   for (IntWritable value : values) wordCount += value.get(); context.write(key, new IntWritable(wordCount));

Como  se  puede  observar,  los  datos  se  reciben  como  un  objeto  Iterable,  por  lo  

que  se  puede  recorrer  el  vector  sin  ningún  problema.  

Finalmente  también  se  escribirán  los  resultados  en  el  contexto,  que  es  el  que  

se   encarga   de   copiarlos   en   último   lugar   en   el   sistema   de   ficheros   HDFS   de  

nuevo,  si  bien  en  una  ruta  diferente.  

 

6.3.2 EJECUCIÓN  

Para  lanzar  el  proceso  MapReduce  será  necesario  instalar  previamente  Maven,  herramienta   de   software   desarrollada   por   Apache   que   sirve   para   gestionar   y  construir  proyectos  Java  a  partir  de  un  POM  (Proyect  Object  Model),  fichero  XML  que  describe   el   proyecto   de   software   a   construir   [32].   Gracias   a   este   proyecto   resulta  mucho  más   sencillo   construir   el   proyecto   y   así   poder   ejecutarlo.   Para   instalar   esta  herramienta  será  necesario  ejecutar  el  siguiente  comando  dentro  de  la  carpeta  donde  se  encuentra  el  proyecto:  

 mvn install

Una  vez  se  ha   instalado   la  herramienta,   será  necesario  construir  el  proyecto,  

indicándole  el   fichero  de  entrada,  donde  están   los  datos  guardados  en  el  HDFS,  y  el  

 

Implementación  de  la  plataforma  

-­‐  83  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

fichero  de  destino  donde  se  almacenarán  una  vez  se  hayan  procesado,  que   también  

será  el  sistema  de  ficheros.  El  comando  para  ejecutarlo  será  el  siguiente:  

 hadoop jar target/hadoop-java-mrdp-0_wordcount-0.1-job.jar /user/cloudera/flume/tweets/* /user/cloudera/flume/tweets/output/wordcount

 

Como  se  puede  observar,  de  entrada  se  cogen  todos  los  ficheros  existentes  en  

esa  ruta,  puesto  que  se  analizarán  todos  los  datos  descargados  de  Twitter.  

 

6.4 CONSULTA  DE  DATOS  

Si  bien  no  se  trata  de  una  categoría  de  herramientas  que  se  haya  definido,  es  

fundamental   definir   una   herramienta,   que   se   ha   considerado   de   almacenamiento,  

para  la  consulta.  

Una   vez   que   los   datos   se   han   reducido   y   se   pueden   consultar   de   una   forma  

mucho   más   sencilla,   será   necesario   realizar   las   consultas   oportunas   para   poder  

visualizar  los  resultados.    

Para   ello,   se   emplea   la   herramienta   Hive,   que   proporciona   un   lenguaje   de  

consulta   similar   al   SQL   pero   aplicable   a   información   desestructurada,   llamado  

HiveQL.  

Hive   es   un   almacén   de   datos   y   paquete   de   análisis   de   código   abierto   que   se  

ejecuta  por  encima  de  Hadoop.  Hive  funciona  gracias  a  HiveQL,  un  lenguaje  basado  en  

SQL  que  permite  que  los  usuarios  estructuren,  resuman  y  consulten  datos.  HiveQL  es  

más  que  el  SQL  estándar,  ya  que  incluye  una  compatibilidad  excelente  con  funciones  

map/reduce  y  tipos  de  datos  complejos  y  ampliables  definidos  por  el  usuario,  como  

JSON   y   Thrift.   Esta   capacidad   permite   procesar   fuentes   de   datos   complejas   y  

desestructuradas,  como  documentos  de  texto  y  archivos  de  registro.  Hive  permite  las  

extensiones  de  usuario  a  través  de  funciones  definidas  por  el  usuario  escritas  en  Java.  

 

Implementación  de  la  plataforma  

-­‐  84  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

El   funcionamiento   de   esta   herramienta   se   basa   en   la   creación   de   tablas   de  

consulta.  

Con  esta  herramienta  se  van  a  crear  una  serie  de  tablas  con  la  información  que  

se  considera  oportuna  para  luego  poder  llevar  a  cabo  un  análisis.    

Esta   herramienta,   propia   del   ecosistema   de   Hadoop,   se   diferencia   del   SQL  

clásico  por  su  capacidad  para  crear   tablas  a  partir  de  procesos  MapReduce,  aunque  

tiene   diversas   limitaciones   en   ciertas   consultas   más   avanzadas.   Es   por   ello   que,  

aunque  se  realizarán  ejemplos  de  cómo  realiza  sus  propios  procesos  MapReduce,  el  

objetivo  principal  de  este  proyecto  es  emplearla  como  medio  de  consulta.  

Para   el   análisis   temporal   que   se   va   a   realizar,   el   que   se   extrae   de   la   fase  

anterior   de   procesamiento   de   datos,   se   deberá   crear   una   tabla   que   contenga   dos  

columnas:  en  la  primera  de  ellas  se  almacenará  la  clave  y  en  la  segunda  el  valor  de  los  

datos  obtenidos  de  MapReduce.    

En  el  ejemplo  que  se  va  a  presentar,  no  se  precisa  de  un  procesamiento  previo  

de   MapReduce,   por   lo   que   los   datos   serán   los   que   se   obtuvieron   directamente   de  

Twitter,  en  su  formato  JSON.  Como  se  observará  en  la  presentación  de  los  resultados,  

será   el   propio   Hive   el   que   se   encargará   de   hacer   un  MapReduce   sobre   esos   datos,  

obteniendo  así  una  información  aprovechable  y  de  un  tamaño  mucho  más  reducido.  

El  caso  particular  que  se  va  a  tomar  indica  el  idioma  en  el  que  se  presentan  los  tweets,  

que   es   uno   de   los   campos   de   la   estructura,   de   forma   que   se   pueda   observar   qué  

resultados  se  obtienen.  

 

6.4.1 CONFIGURACIÓN  

A   continuación   se   van   a   presentar   los   pasos   necesarios   para   crear   tablas   en  

Hive.  En  primer  lugar,  será  necesario  acceder  a  la  shell  de  Hive  para  luego  crear  una  

base   de   datos   y   dentro   de   ella   crear   la   tabla   con   las   columnas,   una   de   tipo   String  

denominada  fecha  y  una  de  tipo  Int  con  la  cuenta  obtenida  del  MapReduce.    

 

 

Implementación  de  la  plataforma  

-­‐  85  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

$ hive shell hive > CREATE DATABASE twitter;

De   la   creación   de   esta   tabla   es   importante   destacar   que   se   debe   indicar   al  

sistema  que  la  separación  existente  entre  las  columnas  es  un  tabulador,  cuyo  código  

correspondiente  es  011.  Finalmente,   los  datos  almacenados  en  HDFS  se  cargarán  en  

la  tabla,  para  que  puedan  ser  consultados.  

Se  muestra  a  continuación  los  comandos  necesarios  para  la  creación  de  la  tabla  

dentro  de  la  base  de  datos  que  se  ha  denominado  twitter.  

 hive (twitter) > CREATE TABLE tweets1 ( Fecha String, Cuenta Int) ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘\011’ STORED AS TEXTFILE;

 

Para  el  caso  del  ejemplo,  y  al  tratarse  de  datos  en  formato  JSON,  se  realizará  un  

procedimiento   diferente.   Hive   ofrece   unas   funciones   específicas   que   permiten,   a  

partir   de   una   tabla,   extraer   la   información   en   formato   JSON.   Con   esta   función  

(get_json_object()),   se   pueden   obtener   los   datos   que   se   consideren   oportunos   para  

realizar  cualquier  otro  tipo  de  análisis.  

En   ambos   casos,   una   vez   se   ha   procesado   la   información,   ya   se   encuentra  

preparada  par  ser  mostrada  en  gráficos.    

 

6.5 VISUALIZACIÓN  DE  DATOS  

Finalmente   para   la   visualización   de   los   datos   se   empleará   la   conocida  

herramienta   Tableau,   en   su   versión   Tableau   Desktop,   puesto   que   conecta   con   la  

distribución  Cloudera  y  en  particular  con  el  servidor  de  Hive.  

 

Implementación  de  la  plataforma  

-­‐  86  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

El  uso  de  esta  herramienta  es  muy  sencillo  e  intuitivo  y  permite,  a  través  de  la  

información   obtenida   de   la   tabla   de   consultas   de   Hive,   realizar   los   gráficos   que  

muestren  la  evolución  de  la  información.    

 

6.5.1 CONFIGURACIÓN  

Esta  herramienta  no  funciona  con  sistema  operativo  Linux,  así  que  se  deberá  

trabajar   en  Windows,   por   lo   que   para   utilizarla   será   necesario   descargarla   en   este  

sistema  operativo  y  a  partir  de  ahí  conectarla  con  el  servidor  de  Hive  para  que  le  sirva  

los  datos.  

Una  vez  se  ha  descargado  el  programa  y  se  ha   instalado  correctamente  en   la  

versión  de  prueba,  para  poder  conectarlo  con  Hive,  se  deberá  descargar  un  driver  de  

ODBC  específico  de  Cloudera.  Gracias  a  este  driver  se  podrá  crear  un  sistema  DSN  que  

permita  la  conexión  con  Hive,  configurado  como  se  muestra  en  la  imagen.  

 

Implementación  de  la  plataforma  

-­‐  87  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Figura  39.  Configuración  del  sistema  DSN  para  el  servidor  de  Hive  

Cuando   se   haya   completado   la   conexión,   en   la   aplicación   Tableau   se   podrá  

conectar  a   los  datos  en   la  opción  que  permite  a   través  de   las  bases  de  datos  ODBC,  

buscando  la  conexión  que  se  acaba  de  crear.  A  partir  de  ahí,  ya  se  puede  utilizar  esta  

herramienta.  

 

Implementación  de  la  plataforma  

-­‐  88  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

Al  buscar  en  las  bases  de  datos  de  Hive,  se  mostrarán  todas  las  tablas  que  se  

hayan  creado.  

En  la  imagen  que  se  muestra  a  continuación  se  puede  observar  la  pantalla  que  

ofrece  Tableau,  donde  se  puede  encontrar  en  la  parte  superior  las  tablas  que  se  van  a  

emplear  a   la  hora  de  crear  gráficos,  y  en   la  parte   inferior  se  observan   los  datos  que  

tiene   cada   tabla   y   que   se   pueden   representar.   En   la   parte   de   la   izquierda,   que   se  

muestra  ampliada  en  la  siguiente  imagen,  se  puede  observar  como  Tableau  ofrece  la  

posibilidad  de  trabajar  con  todas  las  tablas  que  se  hayan  creado  en  Hive,  en  especial  

la  que  contiene  los  datos  del  MapReduce,  que  se  denominó  tweets1.  

 

Figura  40.  Pantalla  inicial  de  Tableau  

 

Implementación  de  la  plataforma  

-­‐  89  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

Figura  41.  Tablas  de  Hive  

Por  lo  tanto,  una  vez  se  tiene  seleccionada  la  tabla  con  la  que  se  desea  trabajar,  

se  procede  a  seleccionar  aquellos  atributos  que  se  desean  representar.  Para  ello,  en  

primer   lugar   se   debe   conocer   la   pantalla   que   ofrece   Tableau   para   representar  

gráficos.  

 

Implementación  de  la  plataforma  

-­‐  90  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

Figura  42.  Pantalla  de  creación  de  gráficos  de  Tableau  

Como   se   puede   observar,   en   la   parte   izquierda   aparecen   los   nombres   de   las  

columnas  de  la  tabla  que  se  ha  seleccionado,  situándose  en  la  parte  superior  en  caso  

de   tratarse   de   una   cadena  de   caracteres,   como   es   el   caso   de   la   fecha,   y   en   la   parte  

inferior  si  se  trata  de  números,  como  es  la  cuenta.  

En  la  parte  superior  de  la  pantalla  se  debe  indicar  el  contenido  de  los  ejes  de  la  

gráfica,   las   filas   y   las   columnas;   y   en   la   parte   de   la   derecha   se   indicará   el   tipo   de  

gráfico  que  se  desea  emplear.  

Para   el   caso   que   se   desea   representar,   evolución   horaria   de   los   tweets,   se  

colocará  en  las  columnas  la  fecha  y  en  las  filas  la  cuenta,  seleccionando  el  gráfico  de  

diagrama  de  barras,  como  se  muestra  a  continuación.  

 

Figura  43.  Asignación  de  filas  y  columnas  para  el  gráfico  

Como  este  caso,  se  pueden  representar  todos  los  gráficos  que  se  deseen.  En  el  

capítulo   en   el   que   se   analizan   los   resultados,   se   mostrarán   varios   ejemplos   que  

indican  el  alcance  que  tiene  esta  herramienta  de  visualización.  

 

Implementación  de  la  plataforma  

-­‐  91  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

Por   ejemplo,   también   se   representará   el   ejemplo   realizado   exclusivamente   a  

partir  de  Hive,  donde  se  almacenó  el   idioma  de  un  grupo  de  tweets.  En  este  caso,  se  

empleará  un  diagrama  circular  y  se  colocará  la  columna  de  idioma  en  las  filas.  

Una  vez   se  ha   realizado   todo  este  proceso,   la  herramienta  permite  editar   las  

gráficas  en  cuanto  a  colores,  por  ejemplo,  o  añadir  y  eliminar  algunas  etiquetas  que  

aporten  información  de  utilidad.  

   

 

Implementación  de  la  plataforma  

-­‐  92  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

 

Análisis  de  resultados  

-­‐  93  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

Capítulo  7 ANÁLISIS  DE  RESULTADOS  

En   este   capítulo   se   muestran   los   resultados   obtenidos   tras   el   análisis  

presentado.  

En  primer  lugar  se  mostrarán  los  resultados  obtenidos  tras  las  ejecuciones  de  

las  distintas  etapas  del  análisis,  para  finalmente  mostrar  los  gráficos  obtenidos  en  la  

etapa  de  visualización  y  extraer  conclusiones  de  ellos.  

 

7.1 RESULTADOS  DE  LAS  EJECUCIONES  DE  LAS  HERRAMIENTAS  

Al   ejecutar   los   diferentes   comandos   que   inician   el   funcionamiento   de   las  

diferentes  herramientas  se  obtienen  diversos  resultados.  

7.1.1 RESULTADOS  DE  FLUME  

Una  vez  se  ha  lanzado  el  agente  de  Flume,  en  la  consola  aparece  información  

acerca   del   proceso   que   se   está   ejecutando,   de   la   cual   se   ha   extraído   la   que   se  

consideraba  importante,  mostrada  a  continuación.    

 

Figura  44.  Ejecución  del  agente  de  Flume  

 

Análisis  de  resultados  

-­‐  94  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

En  la  imagen  se  puede  observar  cómo  se  establece  correctamente  la  conexión  

con   la   fuente  de   la  que   se  extraen   los  datos,   en  este   caso  Twitter,  que  conlleva  a   la  

descarga  de  la  información.  

Esta   información   que   se   descarga   se   almacena   en   la   ruta  

/user/cloudera/flume/tweets,  en  particular  en  el  fichero  tweets.1436467134063.  

En   este   momento   de   la   descarga,   como   aún   se   está   llenando   el   fichero,   se  

observa  una  extensión  .tmp,  que  indica  que  está  en  proceso  y  aún  no  se  puede  acceder  

a  él.    

El   tiempo   de   descarga   varía   en   función   de   la   configuración   que   se   haya  

establecido   para   el   agente   de   Flume,   puesto   que   se   puede   definir   el   tamaño   del  

fichero,  la  capacidad  del  canal  de  memoria,  así  como  otros  muchos  aspectos.  Como  ya  

se  mencionó,  el  tamaño  de  fichero  buscado  es  de  gran  tamaño,  por  lo  que  el  tiempo  

que   tardará   en   llenarse   cada   uno   de   los   ficheros   será   mayor   que   si   se   tratase   de  

ficheros  pequeños.  

 

7.1.2 RESULTADOS  DE  HDFS  

Una   vez   se   haya   llenado   el   fichero   que   se   creó   con   el   agente   de   Flume,   éste  

quedará  almacenado  en  el  sistema  de  ficheros  HDFS  en  la  ruta  especificada,  de  donde  

se  podrá  descargar  y  trabajar  con  él.  

Como   ya   se  mostró   anteriormente,   se   puede   acceder   a   los   datos   que   se   van  

descargando   a   través   del   navegador,   gracias   al   buscador   que   se   presenta   a  

continuación.  

 

Análisis  de  resultados  

-­‐  95  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

Figura  45.  Sistema  de  ficheros  HDFS  conteniendo  datos  descargados  

Se   puede   observar   que   cada   uno   de   los   ficheros   de   tweets   tiene   un   tamaño  

diferente.  Esto  se  debe  a  que  cada  uno  se  ejecutó  realizando  diferentes  pruebas  en  las  

que   se   variaba   el   tamaño   del   fichero   para   poder   comprobar   que   efectivamente   se  

reducía  el  tiempo  de  llenado  cuando  se  disminuía  el  tamaño  del  fichero.  

En   cuanto   a   los   permisos   que   se   tienen   sobre   los   ficheros,   se   observa   que  

únicamente  tiene  permiso  para  escribir  el  sistema,  y  que  el  usuario  únicamente  tiene  

permiso  para  leer  de  ellos,  lo  que  permite  trabajar  con  ellos  en  otros  ficheros  pero  no  

modificar  los  existentes.  

 

7.1.3 RESULTADOS  DE  MAPREDUCE  

Una  vez  se  han  descargado  los  ficheros  que  contienen  los  tweets  a  analizar,  se  

inicia   el   proceso   de   MapReduce.   Esto,   tal   y   como   se   definió   en   su   configuración,  

iniciará  dos  procesos  que  se  encargarán  de  esta  tarea.  

En   las   imágenes   que   se   muestran   a   continuación,   se   puede   observar   la  

información  que  se  muestra  por  consola  al  ejecutar  el  proceso.  

 

Análisis  de  resultados  

-­‐  96  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

Figura  46.  Ejecución  del  proceso  MapReduce  (I)  

 

Figura  47.  Ejecución  del  proceso  MapReduce  (II)  

 

Análisis  de  resultados  

-­‐  97  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

En  estas  imágenes  se  puede  observar  cómo  se  muestra  el  progreso  del  proceso  

lanzado,  de  forma  que  se  realiza  primero  la  tarea  de  mapear  y  en  siguiente   lugar  se  

observa  cómo  se  reducen  los  datos.  

También   se   incluye  mucha   información   extra   acerca   del   tamaño   del   fichero  

que  se  ha  procesado,  así  como  de  los  errores  producidos,  que  en  este  caso  son  nulos.  

Por  otra  parte,  Cloudera  ofrece  un  servicio  a  través  del  cuál  se  puede  visualizar  

en  el  navegador  el  progreso  de  los  sistemas  de  MapReduce  de  forma  gráfica,  a  través  

de  la  URL  quickstart.cloudera:8088/proxy/application.  

 

Figura  48.  Interfaz  gráfica  que  muestra  el  progreso  de  MapReduce  

Al  finalizar  el  proceso  MapReduce  que  se  lanzó,  se  puede  observar  dentro  del  

sistema   de   ficheros   HDFS   cómo   se   ha   creado   una   carpeta   nueva   que   contiene   la  

información  obtenida,  tal  como  se  muestra  a  continuación.  

 

Figura  49.  HDFS  conteniendo  datos  de  la  salida  de  MapReduce  

  Como   se   puede   observar,   se   han   creado   tres   ficheros.   El   primero,   vacío,  

indicando   que   el   proceso   se   ha   completado   con   éxito.   Los   dos   siguientes   son   los  

correspondientes   a   los   dos   procesos   paralelos   que   ejecuta   MapReduce.   En   esta  

prueba   en   particular   se   hizo   con   un   fichero  muy   pequeño,   por   lo   que   no   aparecen  

datos   en   el   primero   y   el   segundo   está   prácticamente   vacío.   Sin   embargo   en   otras  

 

Análisis  de  resultados  

-­‐  98  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

pruebas  con  ficheros  de  mayor  tamaño  se  puede  observar  que  ambos  ficheros  tienen  

aproximadamente  el  mismo  tamaño.  

  En   siguiente   lugar   se   van   a   mostrar   dos   ficheros   como   los   mencionados  

anteriormente  que  son  salida  de  un  fichero  a  procesar  mucho  mayor.  

 

Figura  50.  Contenido  fichero  part-­‐r-­‐00000  

 

Análisis  de  resultados  

-­‐  99  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

Figura  51.  Contenido  fichero  part-­‐r-­‐00001  

  Como  se  puede   comprobar   si   se  observa   la   secuencia  de   tiempos,   el  proceso  

MapReduce  ha  dividido  el  contenido  por  la  mitad,  ejecutando  cada  proceso  lanzado  la  

mitad  de  los  datos  en  función  de  su  llegada.  

 

7.1.4 RESULTADOS  DE  HIVE  

Al   ejecutar   las   sentencias   que   crean   tablas   en   Hive,   el   sistema   aporta   unos  

mensajes  indicando  el  tiempo  de  ejecución  que  ha  tardado  en  completar  la  sentencia,  

así  como  si  se  ha  completado  correctamente  o  no.  

Se  van  a  mostrar  una  serie  de  capturas  de  la  ejecución  de  diferentes  sentencias  

para  observar  el  tiempo  que  conllevan.  

En  primer  lugar  se  muestra  el  tiempo  que  tarda  el  sistema  en  crear  una  tabla,  

que  como  se  puede  observar  es  prácticamente  nulo,  dado  que  se  trata  de  un  proceso  

muy  sencillo.  

 

Análisis  de  resultados  

-­‐  100  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

Figura  52.  Tiempo  de  creación  de  una  tabla  en  Hive  

Ahora  se  va    a  mostrar  el  tiempo  que  tarda  el  sistema  en  introducir  los  datos  

en   la   propia   tabla.   Como   se   puede   observar,   el   tiempo   es   claramente   superior   al  

tiempo  de  creación,  pero  sigue  siendo  muy  pequeño.  Esto  se  debe  a  que  el  contenido  

que   se   ha   cargado   no   ocupa   mucho   espacio   y   por   lo   tanto   se   puede   procesar  

rápidamente.  Sin  embargo,  si  se  tratase  de  una  carga  mucho  mayor,  el  rendimiento  se  

vería  bastante  afectado.  

 

Figura  53.  Tiempo  de  carga  de  datos  en  una  tabla  en  Hive  

Además  del   tiempo  de  carga,   la   sentencia  muestra  otra   información,   como  el  

tamaño  del  fichero  o  el  número  de  particiones  que  se  realizan.  

A  continuación  se  va  a  visualizar  la  captura  de  cuando  se  realiza  una  consulta  

que  necesita  ejecutar  un  proceso  MapReduce.  Como  se  mencionó  anteriormente,  esta  

herramienta  realiza  algunas  consultas  ejecutando  este  tipo  de  procesos,  aunque  está  

bastante  limitado.  Como  se  puede  observar,  se  produce  una  consulta  mucho  más  lenta  

que   las   anteriores,   de   27   segundos   a   pesar   de   tratarse   de   una   sentencia   bastante  

básica  y  de  un   fichero  de  un  tamaño  bastante   limitado.  Es  aquí  donde  se  observa   la  

deficiencia  de  este  sistema,  que  pierde  mucho  rendimiento  al  tener  que  realizar  estas  

consultas.  

 

Análisis  de  resultados  

-­‐  101  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

Figura  54.  Ejemplo  de  consulta  SELECT  que  produce  un  MapReduce  

Para  compararla  con  el   tiempo  que  se   tarda  en  ejecutar  una  consulta  que  no  

necesita   de   un   proceso  MapReduce,   se  muestra   un   ejemplo  muy   similar.   Se   puede  

apreciar   que   el   tiempo   de   esta   consulta   es   mínimo,   lo   que   indica   que   este  

procesamiento  MapReduce  es,  aunque  muy  útil,  muy  lento;  si  bien  se  podría  mejorar  

ejecutando  más  procesos  de  mapeo,  puesto  que  se  ejecutó  un  único  proceso.  

 

Figura  55.  Ejemplo  de  consulta  SELECT  

 

Análisis  de  resultados  

-­‐  102  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

7.2 VISUALIZACIÓN  DE  GRÁFICOS  

A   continuación   se   van   a   mostrar   los   gráficos   obtenidos   de   los   datos   de   las  

tablas  creadas  en  Hive.    

La  herramienta  Tableau  es  la  encargada  de  representar  los  datos,  y  ofrece  una  

amplia  variedad  de  opciones  en  cuanto  a  gráficos  y   tablas,  para  poder  satisfacer   los  

requisitos  que  se  puedan  necesitar  para  realizar  los  análisis  oportunos.    

En   primer   lugar   se   representarán   los   gráficos   obtenidos   de   los   datos   que   se  

han  procesado  con  MapReduce.  Estos  datos  corresponden  a  una  sucesión   temporal,  

por   lo   que   se   estudiará   el   progreso   existente   mediante   gráficos   de   diagrama   de  

barras.  

Para  poder  realizar  diferentes  análisis,  se  ha  estudiado  el  comportamiento  del  

número  de  tweets  en  función  del  minuto  en  el  que  se  han  creado  y  en  función  de  la  

hora.  

Para  comenzar  se  estudiará  qué  sucede  con  los  minutos.  Como  ya  se  comentó  

anteriormente,  sólo  se  puede  obtener  una  muestra,  el  1%  de  los  datos,  que  es  lo  que  

permite  Twitter,  por  lo  que  a  partir  de  ello,  se  puede  realizar  un  análisis  aproximado  

del  comportamiento  general  de  los  datos  que  se  generan  en  la  red  social.  

En  la  gráfica  que  se  muestra  a  continuación  se  puede  observar  cómo  el  número  

de  tweets  generados  por  minuto  no  sigue  ningún  tipo  particular  de  sucesión,  por   lo  

que  no   se  ha  mostrado   todo   el   espacio   temporal   que   se   tenía  descargado,   sino  una  

pequeña  parte  para  mostrar  el  resultado.  

 

Análisis  de  resultados  

-­‐  103  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

Figura  56.  Sucesión  temporal  por  minutos  de  los  tweets  

Sin  embargo,  de  esta  misma  muestra  se  puede  extraer  una  gráfica  mucho  más  

interesante  acerca  del  número  de  tweets  generados.  Se  trata  de  un  diagrama  de  caja,  

que  muestra  mucha  información  acerca  de  la  muestra  obtenida.  

Como   se   puede   ver   en   dicho   gráfico,   el   número   medio   de   tweets   que   se  

generan  por  minuto  es  2,  y  la  mayor  parte  de  minutos  se  crean  entre  1  y  3  tweets.  Sin  

embargo,   como   se   puede   observar,   se   dan   algunos  minutos   extraños   en   los   que   se  

crean  6,   7   y   9   tweets,   siendo   este   el  minuto   en   el   que  más   tweets   se   recogieron  de  

todos.  

 

Análisis  de  resultados  

-­‐  104  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

Figura  57.  Diagrama  de  caja  de  la  evolución  por  minutos  

  Otra   forma   que   puede   ser   interesante   para   analizar   los   datos   es   con   la  

siguiente  tabla,  que  muestra  el  número  de  datos  que  se  genera  por  minuto,  de  forma  

que  cada  fila  se  colorea  en  función  de  su  valor.  También  se  adjunta  la  escala  de  color  

con   su   significado,   es   decir,   los   minutos   en   los   que   se   generaron  menos   tweets   se  

presentan  en  gris  y  cuanto  mayor  sea  dicho  número,  más  azul  se  coloreará  el  minuto  

correspondiente.  

  Como  se  puede  observar,   la  mayor  parte  de   las   filas   tiene  un  valor  pequeño,  

rara  vez  se  superan  los  cuatro  tweets  por  minuto.  

 

Análisis  de  resultados  

-­‐  105  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

Figura  58.  Tabla  de  colores  con  la  evolución  por  minutos  

 

Figura  59.  Escala  de  colores  para  la  evolución  por  minutos  

 

A  continuación  se  va  a  analizar  la  progresión  por  horas.  En  este  caso,  sí  que  se  

puede   observar   un   ligero   patrón   en   el   número   de   tweets   que   se   han   generado.   Se  

debe   destacar   que   en   las   horas  más   tempranas   se   generan  muchos  menos   tweets,  

mientras  que  a  medida  que  avanza  la  mañana  se  generan  muchos  más.  

 

 

Análisis  de  resultados  

-­‐  106  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

Figura  60.  Sucesión  temporal  por  horas  de  los  tweets  

  También  se  puede  hacer  una  representación  de  los  datos  con  un  diagrama  de  

barras  horizontal,  como  el  que  se  muestra  a  continuación.  

 

Análisis  de  resultados  

-­‐  107  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

Figura  61.  Sucesión  temporal  por  horas  de  los  tweets  en  horizontal  

  Finalmente   se   van   a   representar   los   datos   que   se   obtuvieron   al   procesarlos  

exclusivamente  con  Hive.  

  Se  va  a  representar  una  muestra  del  número  de  tweets  en  función  del   idioma  

en   el   que   están   escritos.   Como   se   comentó   en   la   configuración   de   Flume,   los   datos  

extraídos   se   han   limitado   al   territorio   español,   por   lo   que   los   datos   serán  

mayoritariamente  en  español.  Para  representarlos  se  empleará  un  diagrama  circular.  

  Como  se  puede  observar,  la  mayor  parte  de  los  datos  están  en  español  y  unos  

cuantos  tienen  el  idioma  indeterminado.  

 

Análisis  de  resultados  

-­‐  108  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

Figura  62.  Diagrama  circular  del  idioma  de  los  tweets  

 

 

Figura  63.  Leyenda  del  diagrama  circular  

 

Conclusiones  y  líneas  futuras  

-­‐  109  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

Capítulo  8 CONCLUSIONES  Y  LÍNEAS  FUTURAS  

Vistos   los   resultados   obtenidos   del   análisis   de   los   datos   descargados,   se  

presentarán   las   conclusiones   obtenidas,   así   como   posibles   trabajos   a   desarrollar   a  

partir  del  que  se  ha  realizado.  

Como   conclusiones   generales,   y   en   referencia   al   Big   Data,   se   destaca   que   se  

trata  de  un  ecosistema  muy  amplio  y  que  aporta  a  la  sociedad  actual,  en  la  que  cada  

vez  se  almacenan  más  y  más  datos,  una  nueva   forma  de  analizar  dicha   información  

para  que  así  se  pueda  obtener  un  valor  añadido  a  lo  que  ya  se  conocía  e  introducir  las  

mejoras  que  sean  necesarias  acorde  a  dichos  resultados.  Es  decir,  con  la  introducción  

del   Big   Data   en   las   empresas   se   podrá   obtener   una   capacidad   de   análisis   muy  

superior  a  la  que  se  obtenía  anteriormente  para  poder  así  conseguir  una  información  

más  detallada  de  lo  que  sucede,  y  relacionarla  con  otros  análisis;  es  decir,  el  Big  Data  

se   muestra   como   una   ventaja   para   el   Data   Mining.   Con   esto   se   pueden   analizar  

grandes  volúmenes  de  información  a  una  velocidad  adecuada  para  obtener  patrones  

o  comportamientos  determinados  en  ciertos  datos,  basados  en  la  inteligencia  artificial  

y   la   estadística   principalmente   [31].   Esta   tecnología   de   computación   se   podrá  

emplear,  por  ejemplo,  para  detectar  anomalías  en  un  sistema  antes  de  que  ocurran  a  

partir  de  la  definición  de  patrones  en  su  comportamiento.  

Como   conclusión   del   análisis   de   distribuciones   open-­‐source   de   Big   Data   se  

extrae  que,   aunque   se  hayan  estudiado   las  principales  y  más   reconocidas,   se  puede  

determinar   que   cada   una   de   ellas   aporta   una   serie   de   ventajas,   que   se   podrán  

aprovechar   en   función   de   los   objetivos   que   se   deban   cumplir   en   la   empresa   en  

cuestión.   Es   decir,   para   cada   caso   de   uso   particular   habrá   una   distribución   que  

satisfaga  mejor  las  necesidades  particulares  en  cuestión.  

Del   caso   de   uso   particular   que   se   ha   desarrollado   se   puede   extraer   como  

conclusión   que   hacer   uso   de   las   redes   sociales   para   llevar   a   cabo   análisis   del  

comportamiento  de  las  personas  puede  suponer  muchos  beneficios,  por  ejemplo  en  lo  

 

Conclusiones  y  líneas  futuras  

-­‐  110  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

referido   a   qué   día   de   la   semana   se   debe   sacar   al  mercado   un   producto,   ya   que   las  

redes   sociales   son   un   gran  medio   de   propagación   de   la   información   y   este   análisis  

permite  saber  qué  día  se  utilizan  más.  En  cuanto  al  análisis  de   las  redes  sociales  en  

función  de  las  horas,  se  podrá  deducir  a  qué  hora  tendrá  mayor  difusión  una  noticia  

en  particular  o  qué  eventos  tienen  un  mayor  seguimiento.  

Como  posibles  futuros  trabajos  se  puede  definir,  en  primer  lugar,  el  análisis  de  

los   hashtags   buscando   análisis   de   sentimiento   en   los   tweets   que   los   contienen.   Es  

decir,  analizando  el  contenido  de  los  tweets  se  podría  determinar  el  estado  de  ánimo  

de   los   usuarios,   estudiando   si   las   palabras   son   negativas   (no,   mal,   ningún…)   o  

positivas   (sí,   bien,  mejor…),   de   forma   que   si   el  hashtag   está   relacionado   con   algún  

producto  o  alguna  empresa,  ésta  pueda  tener  en  cuenta  las  opiniones  del  público.  

Otro  posible  trabajo  puede  ser   la  relación  con  la  mencionada  tecnología  Data  

Mining.  Esta  tecnología  permite  extraer  patrones  interesantes  que  hasta  el  momento  

eran   desconocidos,   para   así   poder   predecir   qué   sucederá   en   unas   determinadas  

condiciones,  por  ejemplo  qué  efecto  tendrá  una  noticia  o  evento,  para  ofrecer  así  una  

respuesta  óptima  de  servicios  en  función  de  la  demanda  predicha.  

 

BIBLIOGRAFÍA  

-­‐  111  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

BIBLIOGRAFÍA  

[1] Open  Data  Center  Alliance  (ODCA).  Big  Data  Consumer  Guide  

[2] Alex  Holmes.  Hadoop  in  practice  

[3] Experfy.  Comparativa  entre  Cloudera,  Hortonworks  y  MapR.  

http://www.experfy.com/blog/cloudera-­‐vs-­‐hortonworks-­‐comparing-­‐

hadoop-­‐distributions/  

[4] Gravitar.  Big  Data.    

http://gravitar.biz/bi/big-­‐data/  

[5] Flume.  Flume  User  Guide.    

https://flume.apache.org/FlumeUserGuide.html#twitter-­‐1-­‐firehose-­‐

source-­‐experimental    

[6] Hive.  Información  General.    

https://hive.apache.org/    

[7] Tableau.  Información  general.    http://www.tableau.com/es-­‐es/new-­‐features/big-­‐data-­‐0  

[8] Dan  Sullivan.  Getting  Started  with  Hadoop  2.0.  

http://www.tomsitpro.com/articles/hadoop-­‐2-­‐vs-­‐1,2-­‐718.html  

[9] Business  Software.  Hadoop  2.0,  ¿qué  trae  de  nuevo?  

http://www.businessoftware.net/big-­‐data-­‐hadoop-­‐2-­‐que-­‐trae-­‐de-­‐nuevo/  

[10] Hortonworks.  YARN.    

http://hortonworks.com/hadoop/yarn/  

[11] Cloudera.  YARN  y  HA  Hadoop.    

http://blog.cloudera.com/blog/2014/05/how-­‐apache-­‐hadoop-­‐yarn-­‐ha-­‐

works/  

[12] Forrester.  Expand  Your  Digital  Horizon  With  Big  Data  (Junio  2013)  

[13] Hortonworks.  HDP  2.    

http://hortonworks.com/blog/announcing-­‐hdp-­‐2-­‐2/  

 

BIBLIOGRAFÍA  

-­‐  112  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

[14] Hortonworks.  HDP.  http://hortonworks.com/hdp/  

[15] Cloudera.  CDH  Packaging  information  for  previous  releases.  

http://www.cloudera.com/content/cloudera/en/documentation/core/la

test/topics/cdh_vd_cdh_package_previous.html  

[16] Cloudera.  Cloudera  Enterprise.  

http://www.cloudera.com/content/cloudera/en/products-­‐and-­‐

services/cloudera-­‐enterprise.html  

[17] Cloudera.  Impala.  

http://www.cloudera.com/content/cloudera/en/products-­‐and-­‐

services/cdh/impala.html  

[18] Cloudera.  Cloudera  Search.  

http://www.cloudera.com/content/cloudera/en/products-­‐and-­‐

services/cdh/search.html  

[19] Cloudera.  Cloudera  Manager.  

http://www.cloudera.com/content/cloudera/en/products-­‐and-­‐

services/cloudera-­‐enterprise/cloudera-­‐manager.html  

[20] Baoss.  Solución  Big  Data  Analytics  Cloudera.  

http://www.baoss.es/?page_id=4620  

[21] Cloudera.  Cloudera  Navigator.  

http://www.cloudera.com/content/cloudera/en/products-­‐and-­‐

services/cloudera-­‐enterprise/cloudera-­‐navigator.html  

[22] MapR.  Características  de  las  distintas  ediciones.    

https://www.mapr.com/products/hadoop-­‐download  

[23] MapR.  MapR  –  FS    

http://doc.mapr.com/display/MapR/Working+with+MapR-­‐FS  

[24] MapR.  Direct  Access  NFS.    

https://www.mapr.com/resources/videos/mapr-­‐nfs  

[25] MapR.  Heatmap.    

https://www.mapr.com/resources/videos/mapr-­‐heatmaps  

 

BIBLIOGRAFÍA  

-­‐  113  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

[26] Gartner.  Magic  Quadrant  for  Data  Warehouse  and  Data  Management  

Solutions  for  Analytics  (Febrero  2015).    

http://www.gartner.com/technology/reprints.do?id=1-­‐

29X7GVV&ct=150212&st=sb  

[27] Forrester.  Forrester  Wave:  Big  Data  Hadoop  Solutions  2014.  [28] Cloudera.  Caminos  de  instalación.  

http://www.cloudera.com/content/cloudera/en/documentation/core/latest/topics/cm_ig_install_path_a.html?scroll=cmig_topic_6_5_unique_2  

[29] Cloudera.  Instalación  Cloudera  Manager.  http://www.cloudera.com/content/cloudera/en/documentation/cloudera-­‐manager/v4-­‐latest/Cloudera-­‐Manager-­‐Installation-­‐Guide/cmig_install_cm_cdh.html  

[30] Twitter.  REST  API.  https://dev.twitter.com/rest/public  

[31] Wikipedia.  Minería  de  datos.  

https://es.wikipedia.org/wiki/Miner%C3%ADa_de_datos  

[32] Maven.  What  is  maven.  https://maven.apache.org/what-­‐is-­‐maven.html  

[33] Wikipedia.  NoSQL.  https://es.wikipedia.org/wiki/NoSQL  

[34] Gartner.  Gartner's  2014  Hype  Cycle  for  Emerging  Technologies  Maps  

the  Journey  to  Digital  Business.  

http://www.gartner.com/newsroom/id/2819918  

 

 

 

 

-­‐  114  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

 

ANEXO  A  

-­‐  115  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

ANEXO A  

En  este   anexo   se  presenta  una  guía  para   instalar  CDH  y   el   sistema  de  nodos  

necesario.    

Como  se  explicó  anteriormente,  al  describir  Cloudera  y  sus  características,  esta  

distribución  cuenta  con  tres  paquetes  diferentes:  el  primero  de  ellos,  gratuito,  incluye  

el   paquete   del   núcleo   Hadoop   y   alguna   herramienta   básica   de   gestión;   el   segundo  

incluye  herramientas  de  gestión  y  administración,  y  se  trata  de  una  versión  de  prueba  

gratuita  durante  60  días;  el  tercer  paquete  incluye  todas  las  herramientas  disponibles  

de  Cloudera,  y  para  poder  utilizarlo  es  necesario  pagar  una  cuota  anual.    

En  este  proyecto  se  va  a  hacer  uso  del  primer  paquete,  ya  que  al  tratarse  de  un  

entorno  de  laboratorio,  será  un  sistema  pequeño  y  no  será  necesario  hacer  uso  de  las  

herramientas   de   administración.   Sin   embargo,   en   entornos   muy   grandes   será  

necesario   hacer   uso   del   tercer   paquete,   que   incluye   las   herramientas   de   Cloudera  

Navigator  y  facilitarán  la  tarea  de  administrar  el  gran  número  de  nodos  presentes.    

En   este   anexo   se   va   a   presentar   el   manual   de   usuario   del   primer   paquete,  

indicando  la   instalación  y   la  configuración  de   la  herramienta.  Previo  a   la   instalación  

de   este   paquete,   denominado   Cloudera   Manager,   será   necesario   explicar   la  

arquitectura  que  se  va  a  emplear  y  su  correspondiente  implantación.  

 

8.1 REQUISITOS  PREVIOS  A  LA  INSTALACIÓN  

En  primer  lugar  se  va  a  indicar  qué  requisitos  necesita  la  plataforma,  de  modo  

que  se  seleccionen  los  componentes  que  sean  compatibles  con  ella.    

 

ANEXO  A  

-­‐  116  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

8.1.1 SISTEMA  OPERATIVO  

La   plataforma   de   Cloudera   CDH   es   compatible   únicamente   con   el   sistema  

operativo   Linux,   por   lo   que   será   necesario   poder   hacer   uso   de   alguna   de   sus  

versiones.   En   el   caso   de   la   empresa  VASS,   no   hay   ordenadores   disponibles   con   ese  

sistema  operativo,  por  lo  que  se  instala  una  máquina  virtual  compatible  con  Cloudera  

en  el  ordenador  del  que  se  hace  uso.  La  versión  instalada  es  CentOs.  

Este  sistema  operativo  es  el  que  se  empleará  además  en  los  nodos  del  clúster,  

por  lo  que  se  realizarán  clones  de  la  máquina  virtual  alojada  en  el  ordenador.    

 

8.1.2 NODOS  

Al  tratarse  de  un  entorno  de  prueba,  se  realizará  el  desarrollo  empleando  un  

único  nodo  virtualizado  en  la  propia  máquina  virtual.  

 

8.2 INSTALACIÓN  DE  CLOUDERA  MANAGER  

Una  vez  se  han  cumplido  los  requisitos  anteriores,  se  procede  a  la  instalación  

del  paquete  Cloudera  Manager,  formado  por  el  núcleo  CDH  y  algunas  herramientas  de  

gestión.    

Para  instalar  este  paquete  existen  tres  opciones:  camino  A,  camino  B  y  camino  

C.   La   primera   de   las   opciones   se   realiza   de   forma   automática   y   las   otras   dos   son  

manuales,  por  lo  que  se  elige  la  instalación  por  el  camino  A  [29].    

 

 

ANEXO  A  

-­‐  117  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

8.2.1 CAMINO  A  

Esta   opción   [28],   aparte   de   tener   la   ventaja   de   tratarse   de   una   instalación  

automática  de  los  paquetes  del  CDH,   incluye  en  el  sistema  dos  requisitos  necesarios  

para  el  sistema:  instala  el  Java  Development  Kit  (JDK)  de  Oracle  y  configura  una  base  

de   datos   PostgreSQL   para   el   servidor   de   Cloudera.   PostgreSQL   es   un   sistema   de  

gestión   de   bases   de   datos   objeto-­‐relacional   open-­‐source.   Utiliza   un  modelo   cliente-­‐

servidor  y  usa  multiprocesos  en  vez  de  multihilos  para  garantizar   la  estabilidad  del  

sistema.  

Para  llevar  a  cabo  la  instalación  del  paquete  Cloudera  Manager,  se  introducirán  

los  siguientes  comandos  en  la  consola:  

$ Sudo wget http://archive.cloudera.com/cm5/installer/latest/cloudera-manager-installer.bin $ sudo chmod u+x cloudera-manager-installer.bin $ sudo ./cloudera-manager-installer.bien

El  primero  de  estos  comandos  se  encarga  de  coger  de  internet  el  directorio  que  

se   va   a   instalar,   el   segundo   cambia   el   permiso   a   ejecución   y   el   tercero   realiza   la  

instalación.    

A   continuación   se   empiezan   a   instalar   todos   los   paquetes   necesarios   de  

Cloudera  Manager,   incluyendo  el   JDK  y   la  base  de  datos.  Se  pide  que  se  acepten   los  

términos  de  la  licencia  de  Cloudera  Express,  así  como  los  términos  del  Oracle  Binary  

Code.    

 

8.3 CONFIGURACIÓN  CLOUDERA  MANAGER  

Cuando  se  termina  la  instalación  del  paquete,  se  debe  acceder  en  el  navegador  

a   localhost,   al  puerto  número   7180,   donde  el  usuario  y   la   contraseña   son  admin.   Es  

aquí  donde  se  accede  a  Cloudera  Manager.  

 

ANEXO  A  

-­‐  118  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

En  primer  lugar  se  muestra  la  pantalla  de  inicio  que  aparece  cuando  se  accede.  

 

Figura  64.  Página  de  presentación  de  Cloudera  Manager  

Como   se   puede   observar,   Cloudera   Manager   permite   seleccionar   diferentes  

herramientas   para   las   distintas   funcionalidades   requeridas   por   el   tratamiento   de  

datos  en  Big  Data.    

En  la  siguiente  pantalla  que  se  muestra,  se  deben  introducir  los  nombres  de  las  

máquinas  virtuales  del  servidor,  que  se  gestionarán  remotamente.  Así,  se  accederá  a  

ellas  para  poder  definir   los  nodos  (maestro  y  esclavo)  y  por  lo  tanto  el  clúster.  Para  

que  encuentre  los  nodos  se  puede  incluir  el  FQDN  (Fully  Qualified  Domain  Name,  que  

incluye  el  nombre  del  equipo  y  el  nombre  del  dominio  al  que  pertenece)  o  la  dirección  

 

ANEXO  A  

-­‐  119  -­‐  

UNIVERSIDAD  PONTIFICIA  COMILLAS  ESCUELA  TÉCNICA  SUPERIOR  DE  INGENIERÍA  (ICAI)  

GRADO  EN  INGENIERÍA  TELEMÁTICA  

IP  de  las  máquinas  virtuales  en  cuestión,  que  en  este  caso  al  tratarse  de  un  único  nodo  

virtualizado   se   deberá   especificar   la   dirección   localhost.   Cuando   se   reconoce  

correctamente  el  nodo,  se  puede  acceder  a  la  siguiente  pantalla.  

 

 

Figura  65.  Detección  de  nodos  de  las  máquinas  virtuales  

 

Una  vez   se  haya   reconocido   la  dirección  especificada,   el   sistema  comienza   la  

instalación   de   los   agentes   y   la   inicialización   de   todos   los   servicios   ofrece   esta  

distribución,  por  lo  que  se  podrá  acceder  a  ellos.