ANÁLISIS Y DESARROLLO DE UNA PLATAFORMA BIG DATA



Documentos relacionados
ANÁLISIS Y DESARROLLO DE UNA PLATAFORMA BIG DATA

REGLAMENTO SOBRE EL RÉGIMEN DE LOS TRABAJOS FINALES PARA LA OBTENCIÓN DE LOS TÍTULOS PROPIOS DE MÁSTER QUE SE IMPARTEN EN LA ICADE BUSINESS SCHOOL

e-commerce, es hacer comercio utilizando la red. Es el acto de comprar y vender en y por medio de la red.

Seminario Electrónico de Soluciones Tecnológicas sobre VPNs de Extranets

Introducción a las redes de computadores

Bechtle Solutions Servicios Profesionales

Windows Server 2012: Infraestructura de Escritorio Virtual

I INTRODUCCIÓN. 1.1 Objetivos

SOLUCIÓN HOSPEDADA. Introducción a los modelos de asociación de partners de Microsoft Dynamics CRM

Ley Orgánica de Protección de Datos

Novedades en Q-flow 3.02

Gestión de la Configuración

Modelo de Política de Privacidad

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Mineria de datos y su aplicación en web mining data Redes de computadores I ELO 322

Hadoop. Cómo vender un cluster Hadoop?

Metodología básica de gestión de proyectos. Octubre de 2003

INTRANET DE UNA EMPRESA RESUMEN DEL PROYECTO. PALABRAS CLAVE: Aplicación cliente-servidor, Intranet, Área reservada, Red INTRODUCCIÓN

Bases de la convocatoria Zinc Shower 2015

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

App para realizar consultas al Sistema de Información Estadística de Castilla y León

Big Data y BAM con WSO2

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

Oracle vs Oracle por Rodolfo Yglesias Setiembre 2008

Norma ISO 9001: Sistema de Gestión de la Calidad

INSTRUCTIVO DE ADMINISTRADOR ALFRESCO COMMUNITY 4.2

CURSO: APACHE SPARK CAPÍTULO 2: INTRODUCCIÓN A APACHE SPARK.

PROCEDIMIENTO ESPECÍFICO. Código G Edición 0

INFORME EJECUTIVO DE IDC

MANUAL COPIAS DE SEGURIDAD

Servicios avanzados de supercomputación para la ciència y la ingeniería

AVISO LEGAL y POLITICA DE PRIVACIDAD

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente

Aviso Legal. Entorno Digital, S.A.

Centro Nacional de Referencia de Aplicación de las TIC basadas en fuentes abiertas. Un ejemplo práctico: Plataforma de Archivo electrónico

Soluciones de virtualización de datos

Acronis License Server. Guía del usuario

Sistemas de Información Geográficos (SIG o GIS)

Core Solutions of Microsoft SharePoint Server 2013 CURSO PRESENCIAL DE 25 HORAS

Condiciones de servicio de Portal Expreso RSA

LLEVE SU NEGOCIO al SIGUIENTE NIVEL. digitalice todos sus documentos y procesos.

Windows Server 2012: Identidad y Acceso. Módulo 2: Descripción General de Windows Server 2012 Remote Desktop Services.

Adicionalmente, en función de su objetivo, las Cookies puedes clasificarse de la siguiente forma:

ANEXO 26-A COMITÉ PERMANENTE DE INTERPRETACIÓN SIC N 32 ACTIVOS INTANGIBLES COSTOS DE SITIOS WEB. (Modificada en 2008) (IV Difusión)

Sistemas de Gestión de Calidad. Control documental

SERVICIOS. Reingeniería. Instalación / Puesta en marcha. Personalización. Cursos de formación. Servicio técnico. Servicio de mantenimiento

Módulo 7: Los activos de Seguridad de la Información

BIG DATA. Jorge Mercado. Software Quality Engineer

Sistema Gestión Licitación para la compra del desarrollo y migración del Sistema de Gestión de Activos y Configuraciones para Plan Ceibal

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas:

Una propuesta de valor para la gran empresa: Atlassian Data Center

PERFIL TÉCNICO CONSULTOR SHAREPOINT PARA LA WEB

Día :00h Lugar: Obra Social Ibercaja, Sala De actos, Rambla Ferran 38, 3º, Lleida

En el siguiente apartado se detallan ciertos conceptos que ayudan a comprender en mayor medida el Proyecto.

Solicitar la competencia Business Intelligence Solutions

AVISO LEGAL. Definir las condiciones de contratación de los servicios ofrecidos por PC-NEXT.

Guía rápida de la Oficina Virtual Área Web y Administración Electrónica

Manual del Usuario. Sistema de Help Desk

Seguridad en tiempos de Big Data

Capítulo 5. Cliente-Servidor.

E Evaluación de pilotos. : Versión: 0.1 Fecha: 07/02/13 Autor: Pablo Martín Pablo.martin@logica.com

UNIVERSIDAD DE SALAMANCA

Preguntas más frecuentes sobre PROPS

Manual Operativo Sistema de Postulación Online

UNIVERSIDAD DE ORIENTE FACULTAD DE CIENCIAS ECONOMICAS

Elementos requeridos para crearlos (ejemplo: el compilador)

Soporte Técnico de Software HP

Manual Operativo SICEWeb

Guía de administración de Huddle Versión 2.3

FUENTES SECUNDARIAS INTERNAS

Oficina Online. Manual del administrador

SISTEMAS Y MANUALES DE LA CALIDAD

LiLa Portal Guía para profesores

INSTRODUCCION. Toda organización puede mejorar su manera de trabajar, lo cual significa un

Servicios de Outsourcing de Nómina y Recursos Humanos

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Sistema de marketing de proximidad

Conectores Pentaho Big Data Community VS Enterprise

Microsoft es una marca comercial registrada o una marca comercial de Microsoft Corporation en Estados Unidos y otros países.

Área Académica: Sistemas Computacionales. Profesor: I.S.C. Guadalupe Hernández Coca

Gestión de la Prevención de Riesgos Laborales. 1

Windows Server 2012: Infraestructura de Escritorio Virtual

AHORRACOM SOLUCIONES AVANZADAS S.L. Avda. de la Industria 13, Oficina Alcobendas, Madrid.

Cumpliendo con las Necesidades de la Salud Sexual y Reproductiva de Jóvenes Vulnerables: Una Caja de Herramientas para Monitoreo y Evaluación

SEGURIDAD DE LA INFORMACIÓN

Maxpho Commerce 11. Gestión CSV. Fecha: 20 Septiembre 2011 Versión : 1.1 Autor: Maxpho Ltd

ISO9001:2015. Todos los certificados emitidos en este periodo tienen una fecha de caducidad de 15 de septiembre de 2018.

LA LOGÍSTICA COMO FUENTE DE VENTAJAS COMPETITIVAS

Información de Producto:

POLITICA DE PRIVACIDAD DE LA PAGINA WEB

Brindamos asesorías que involucran tecnología y personal calificado, estos hacen de DOCTUM su mejor aliado.

La gestión de pymes de Caixa Galicia mejora su rendimiento gracias a Microsoft CRM.

TPV VIRTUAL O PASARELA DE PAGOS DE CAJASTUR

AUTO MERCADO S.A. Términos y condiciones

comunidades de práctica

Soluciones innovadoras para optimizar su infraestructura TI. Virtualización con el sistema operativo i, PowerVM y Power Systems de IBM

Workflows? Sí, cuántos quiere?

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN

CAPÍTULO 1 Instrumentación Virtual

Transcripción:

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 (curiarte@rec.upcomillas.es). 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.

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 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 Í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 I

ÍNDICE DE LA MEMORIA 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 II

ÍNDICE DE LA MEMORIA 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 III

ÍNDICE DE LA MEMORIA IV

ÍNDICE DE FIGURAS Í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 V

ÍNDICE DE FIGURAS 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 VI

ÍNDICE DE FIGURAS 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 VII

ÍNDICE DE TABLAS - VIII -

ÍNDICE DE TABLAS Í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 - IX -

ÍNDICE DE TABLAS - X -

Parte I MEMORIA - 1 -

- 2 -

Introducción Capítulo 1 INTRODUCCIÓN Hoy en día, las organizaciones se enfrentan a grandes cantidades de información, tanto estructurada como desestructurada 3, 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. - 3 -

Introducción 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] - 4 -

Introducción 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. - 5 -

Introducción 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. - 6 -

Introducción 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 - 7 -

Introducción 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. - 8 -

Introducción 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 Data 4, 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. - 9 -

Introducción 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. - 10 -

Introducción 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. - 11 -

Introducción - 12 -

Estado de la tecnología 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. - 13 -

Estado de la tecnología ü 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. - 14 -

Estado de la tecnología 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 ü Poco soporte ü No necesita licencia ü Portable ü Flexible ü Personalizable ü 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. - 15 -

Estado de la tecnología 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. - 16 -

Estado de la tecnología Pros Contras ü Plataforma de desarrollo y mantenimiento ü Características únicas y tecnología adicional ü Fácil despliegue ü Integración entre ü Cuotas de licencias ü Vendedores con conocimiento ü Flexibilidad limitada socios y aplicación ü Formación y soporte 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 - 17 -

Estado de la tecnología 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. - 18 -

Estado de la tecnología 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 NoSQL 5. 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 - 19 -

Estado de la tecnología ü 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]. - 20 -