análisis y desarrollo de una plataforma big data

Anuncio
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.
Figura 2. Arquitectura del sistema
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 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
PLATFORM
IMPLEMENTATION
OF
A
BIG
DATA
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 marketHortonworks, 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.
Descargar