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.