Big Data y Data Science: La revolución de los datos BIG DATA Y DATA SCIENCE: LA REVOLUCIÓN DE LOS DATOS 1 INDICE 1. INTRODUCCIÓN ..................................................................................................................................... 4 2. ARQUITECTURAS HÍBRIDAS PARA EL ANÁLISIS DE BIG DATA EN TIEMPO REAL: LAMBDA Y KAPPA ...................... 5-16 3. TECNOLOGÍAS EN EL MUNDO DEL BIG DATA ............. 17-27 4. DATA SCIENCE & BANCA ..................................................................................... 28-37 5. COGNITIVE COMPUTING ......................................................................................... 38-44 6. ESCUELA DE BIG DATA KSCHOOL .................................................... 45-49 Big Data y Data Science: La revolución de los datos INTRODUCCIÓN Debido al reciente auge sobre Big Data y Data Science, en esta nueva edición de KSbooks hemos querido hacer una recopilación de textos monográficos creados de forma colaborativa entre diferentes profesionales del sector sobre las materias en las que estas disciplinas trabajan día a día. Para ello hemos contado con la ayuda y conocimiento de algunos de nuestros profesores de la Escuela Big Data: Rubén Casado, Director de nuestro máster Big Data; Andrés Gómez, Big Data Architect & Developer en REDBORDER; Raúl Arrabales, Analytics Senior Manager en Accenture Analytics (Digital); y Marta Cámara, Data Science & Negocio en EURO 6000. 4 ARQUITECTURAS HÍBRIDAS PARA EL ANÁLISIS DE BIG DATA EN TIEMPO REAL: LAMBDA Y KAPPA RUBÉN CASADO Doctor en Informática por la Universidad de Oviedo donde ha trabajado como investigador y profesor y actualmente colabora con el Grupo de Investigación en Ingeniería de Software. A nivel internacional, ha trabajado en Oxford Brookes University y en el equipo de INRIA/LORIA (Nancy, Francia). Fruto de su investigación, ha publicado numerosos artículos científicos en congresos y revistas internacionales. Trabajó 4 años como responsable del área de Big Data & Analytics en Treelogic donde, además de implantar soluciones Big Data para clientes en diversos dominios, lideró la creación de Lambdoop, un nuevo middleware Big Data para facilitar el desarrollo de sistemas de computación híbridos. En esta etapa también fue coordinador del proyecto H2020 PROTEUS. Actualmente es Big Data Manager en Accenture Digital y en su faceta como docente, Rubén Casado dirige el Máster en Arquitectura Big Data en Kschool. Big Data y Data Science: La revolución de los datos Arquitecturas híbridas para el análisis de Big Data en tiempo real: Lambda y Kappa Big Data hace referencia al tratamiento y análisis de grandes cantidades de datos, de forma adecuada, y con el objetivo de extraer valor de la información. Este objetivo resulta complejo de conseguir (incluso imposible en algunos escenarios) con las herramientas analíticas convencionales. En términos generales, Big Data se refiere a la evolución tecnológica que ha abierto las puertas hacia un nuevo enfoque de entendimiento y toma de decisiones. Este avance permite trabajar con información que excede las capacidades de los sistemas informáticos clásicos basados en bases de datos relacionales. Sin embargo, Big Data no se refiere sólo a la cantidad de datos, sino también a otras características que tienen las fuentes de información. Además del gran volumen de información, existe una gran variedad de datos que pueden ser representados de diversas maneras y generados a gran velocidad, por ejemplo de dispositivos móviles, audio, video, sistemas GPS, incontables sensores digitales en equipos industriales, automóviles, medidores eléctricos, veletas, anemómetros, etc. 6 Big Data y Data Science: La revolución de los datos Veamos un escenario concreto: el análisis y evaluación de la calidad del aire. La mayoría de los contaminantes presentes en la atmósfera de las ciudades (aire urbano) son sustancias directamente emitidas por vehículos o producidas indirectamente a través de reacciones fotoquímicas. Actualmente tanto la calidad del aire urbano como el de las zonas suburbanas y rurales está regulado por una misma normativa medioambiental. Además, el número total de estaciones fijas de medición de calidad del aire en una ciudad está limitado debido a que ocupan mucho espacio y son costosas. Esto impide mostrar la realidad del aire urbano, el cual puede llegar a ser hasta 5 veces mayor en una calle larga de tráfico y con edificios altos a ambos lados, con respecto a los niveles de las estaciones de fondo. Para solventar este problema se tiende a instalar multitud de sensores low-cost que generan información en continuo (streaming) y permiten una información más personalizada. El empleo de una red de sensores de calidad de aire para ofrecer una medida complementaria a las estaciones tradicionales implica el uso de las tecnologías más innovadoras. Este ejército de creadores de datos pueden, por ejemplo, medir y comunicar el posicionamiento, movimiento, vibración, temperatura, humedad y hasta los cambios químicos que sufre el aire, de tal forma que las aplicaciones que analizan estos datos requieren que la velocidad de respuesta sea extremadamente rápida para obtener la información correcta en el momento preciso. En la actualidad, las tecnologías Big Data no solo se focalizan en la gestión y análisis de información masiva histórica (batch processing), sino que están emergiendo y afianzándose nuevas tecnologías que permiten el procesamiento de información en tiempo real (streaming processing). Apache Spark y el ecosistema Hadoop son soluciones bien asentadas para batch processing. Para el tratamiento del streaming processing se está comenzando a implantar tecnologías como Apache Storm , Samza o Apache Flink con buenos resultados. 7 Big Data y Data Science: La revolución de los datos La red de sensores genera continuamente nuevos datos sin procesar, siendo necesario el análisis de estos datos en tiempo real (streaming processing). Estos datos han de ser almacenados para pasar a formar parte de series históricas que han de estar disponible para su procesamiento (batch processing). Son diversos los contextos donde para dar una respuesta hay que tener en cuenta no solo la información que está llegando en tiempo real, sino también información almacenada en el histórico que puede ser potencialmente de gran volumen. Ejecutar análisis arbitrarios sobre grandes cantidades de datos y conseguir tiempos de respuesta en tiempo real es un problema complejo. Es necesario diseñar una arquitectura híbrida que aúne los beneficios de ambos enfoques (batch y streaming processing). Es aquí donde entró en juego la Arquitectura Lambda, el primer diseño de computación híbrida. La evolución tecnológica de los posteriores años permitió facilitar ese diseño apareciendo la Arquitectura Kappa. Arquitectura Lambda La Arquitectura Lambda es un término acuñado por Nathan Marz a finales de 2011. Describía con precisión una arquitectura software que permitía obtener resultados en tiempo real en sistemas Big Data con ingesta continua de datos. Era una solución de compromiso a la que otros ingenieros de software de forma parecida también habían llegado por necesidad en sus proyectos del momento. La Arquitectura Lambda resuelve el problema de calcular funciones arbitrarias de datos arbitrarios en tiempo real mediante la descomposición del problema en tres capas: capa de batch processing (batch layer), capa de consulta (serving layer) y capa de streaming processing (speed layer). 8 Big Data y Data Science: La revolución de los datos Figura 1. Arquitectura Lambda Batch layer La idea de base es que todo procesamiento se puede definir como una ecuación: Resultados=Funcion (todos los datos) Desafortunadamente, incluso si esto fuera posible, se necesitaría una gran cantidad de recursos para ejecutar dicha función y sería increíblemente costosa en tiempo debido a la posible magnitud del tamaño de los datos. Sería inviable, por ejemplo, recomputar todo el conjunto de datos cada vez que un usuario hiciese una consulta en la que, además, esperará la respuesta con un tiempo de latencia bajo. Un enfoque alternativo (y más adecuado) es computar previamente esa función de consulta. Esa es la misión de la batch layer. Los resultados precomputados por la función ejecutada en esta capa son almacenados en la capa serving layer. En lugar de calcular la consulta sobre la marcha, el sistema leerá los resultados desde la vista precalculada. Estos resultados son indexados de manera que se puede acceder a ellos en tiempo real. 9 Big Data y Data Science: La revolución de los datos Con este esquema, el sistema ejecuta la función sobre todos los datos para obtener los resultados que se almacenan en la serving layer. Cuando se solicita una consulta al sistema, éste utiliza los resultados precalculados en lugar de ejecutar el proceso sobre todo el conjunto de datos. El funcionamiento de la batch layer, desde un punto de vista abstracto, es bastante sencillo. Tiene cuatro funcionalidades básicas: • Adquirir de forma indefinida la nueva información que llega al sistema. • Mantener una copia inmutable y creciente de todos los datos. • Ejecutar de forma cíclica la función sobre el conjunto total de datos del sistema. • Actualizar la serving layer con los nuevos resultados cada vez que termine la ejecución de la función. La batch layer se implementa con tecnologías Big Data (por ejemplo, Hadoop o Spark) que utiliza un modelo de programación paralelo y distribuido para poder ser ejecutado en clústeres. Este paralelismo hace que sea automáticamente escalable independientemente del tamaño total de los datos a manejar. Serving layer La batch layer genera vistas como resultado de sus funciones. El siguiente paso es cargar esa información en algún lugar para que pueda ser consultada. Ésa es la misión de la serving layer. Su misión es indexar los resultados y servirlos de forma que puedan ser consultados de forma óptima. Tiene que ser por tanto una base de datos distribuida que encaje en las necesidades de actualizaciones (escrituras) no constantes, y accesos de lecturas aleatorios. Éste es un punto muy importante, ya que las escrituras aleatorias causan la mayor parte de la complejidad de las bases de datos. Al no requerir escrituras aleatorias (todas las batch results son generadas cada vez, no son actualizaciones parciales), se pueden utilizar sistemas 10 Big Data y Data Science: La revolución de los datos de persistencia distribuidos menos complejos. Esa simplicidad los hace robustos, predecibles, fáciles de configurar y fáciles de operar. Speed Layer El esquema propuesto por la batch layer no soluciona totalmente la problemática. La ejecución de la función sobre un conjunto grande de datos es una tarea que consume bastante tiempo. En el momento en que finalice su ejecución, el sistema habrá recogido nuevos datos que no están representados en los resultados de la serving layer y, por tanto, la información que proporcione el sistema ante consultas estará desactualizada. El objetivo de speed layer es justamente ese: analizar la información que no está representada todavía en la serving layer para compensar esa desactualización. La speed layer tiene, a grandes rasgos, un funcionamiento similar al de la batch layer ya que produce resultados sobre el conjunto de datos que recibe. Pero hay algunas diferencias importantes. Una gran diferencia es que para conseguir tiempos de respuesta instantáneos esta capa no procesa todos los datos a la vez. En lugar de ello, esta capa actualiza sus resultados (stream view) en tiempo real a medida que recibe nuevos datos en lugar de recomputarlas como hace la capa de batch processing. Utiliza por tanto un enfoque incremental. Otra diferencia destacable es que la speed layer sólo produce resultados sobre los últimos datos, mientras que la batch layer tiene en cuenta todo el conjunto de datos que estaban en el sistema al inicio del ciclo de computación. Una vez que los datos han sido procesados por la batch layer, y por tanto los resultados están disponibles en la serving layer, esa parte de la información de la stream view ya no es necesaria y se puede eliminar. Esta característica permite al sistema recuperarse ante fallos funcionales de la capa de speed layer (más compleja) descartando el estado de la stream view y recomputando todos los datos por parte de la batch layer. 11 Big Data y Data Science: La revolución de los datos El motor de procesamiento de esta capa requiere básicamente las mismas características que las de la batch layer: robusto y tolerante a fallos, escalable, general, extensible, consultable y depurable. La última pieza de la Arquitectura Lambda es la fusión de los resultados almacenados en las batch view y stream view para responder en tiempo real a las consultas que reciba el sistema. Esta combinación es específica para cada sistema software, por lo que no se suele incluir en los diseños más teóricos de la arquitectura. Que no se incluyan no significa que el usuario final del sistema no necesite hacer esa tarea. Para combinar los resultados normalmente es necesario mantener un registro único y compartido de la información que gestiona el sistema. La marca unitaria asociada a los datos es definida por la speed layer en su tarea de recibir la nueva información. Pero es la tarea de combinación quien realmente necesita y hace uso de esa metainformación. Por otro lado, la fusión de datos es dependiente de las funciones a computar. Así, si las operaciones cumplen la propiedad asociativa (ejemplos sencillos son cálculos matemáticos tipo suma o máximo, o funciones de análisis tipo filtrado o agrupación) la capa de combinación se limita a ejecutar la función sobre los datos agregados. En caso contrario, la capa de combinación necesita comunicarse con las capas anteriores con el objetivo de que generen metainformación necesaria para conseguir una fusión adecuada de los datos. Arquitectura Kappa Para entender la filosofía de la Arquitectura Kappa hay que poner la Arquitectura Lambda en contexto. La Arquitectura Lambda se define en 2011 y es el modelo de referencia durante los siguientes años. En 2012 y 2013, tecnologías como Hadoop y Spark son ya maduras y 12 Big Data y Data Science: La revolución de los datos ampliamente utilizadas en entornos de producción. No pasa lo mismo con las tecnologías de streaming processing, que aún están emergiendo y no tienen un nivel de estabilidad comparable. Por eso la filosofía (y el éxito) de la Arquitectura Lambda es delegar lo máximo posible en las tecnologías de batch processing y minimizar el uso de las tecnologías de streaming processing. En 2014 Jay Kreps describió la solución que su equipo estaba usando en LinkedIn para resolver el mismo problema que la Arquitectura Lambda resolvía. Esa solución, que se puede entender como una simplificación de la Arquitectura Lambda, se acuñó con el término de Arquitectura Kappa. La Arquitectura Lambda enfatiza en algunos conceptos muy importantes para los sistemas intensivos en datos. Uno de ellos es el de mantener la información histórica inmutable y que el sistema siempre genere sus resultados a partir del dato en bruto. Otro aspecto importante es la necesidad de reprocesar información. Esta necesidad de volver a computar información puede ser derivada por una mejora en el proceso existente (optimización, solución de un fallo, etc.) o simplemente porque los requisitos cambien y se necesitan nuevos cálculos. Pero no todo es positivo en la Arquitectura Lambda. Su principal inconveniente es la necesidad de mantener la misma lógica de aplicación en dos sistemas distintos (por ejemplo Hadoop y Storm). Emergieron algunas tecnologías como SummingBird y Lambdoop que facilitaban al programador la tarea de desarrollar la lógica de negocio con una única API. Aunque el problema de mantener, administrar y monitorizar dos sistemas complejos seguía existiendo. La Arquitectura Lambda partía indirectamente de la premisa de que las tecnologías de streaming processing no eran lo suficientemente buenas para poder encargarse de todo el sistema. La Arquitectura Kappa parte de la hipótesis contraria: ¿qué pasaría si las tecnologías de streaming 13 Big Data y Data Science: La revolución de los datos processing fuera lo suficientemente potentes como para manejar ambos entornos? Y en 2014, esa hipótesis empezaba a ser realidad con tecnologías como Kafka y Samza. Las tecnologías modernas de streaming processing entre las que destacan Apache Flink, Apache Storm, Samza y Spark Streaming, tienen características similares a las tecnologías de batch processing (escalabilidad, fiabilidad, rendimiento…) por lo que pueden encargarse tanto del procesamiento en tiempo real así como de la recomputación del histórico. La filosofía de la Arquitectura Kappa se resume en: • Usar un sistema que sea capaz de almacenar todo el histórico de la información pero también enviar la información a múltiples actores para su reprocesamiento. Para ello se utiliza un sistema como Kafka con copia del histórico en el HDFS de Hadoop. • Cuando se necesita recomputar información, se ejecuta la nueva función sobre el motor de streaming processing que lee la información desde el principio y dejará los resultados en una nueva vista. • Cuando el cálculo de esa nueva función haya terminado de analizar el histórico y ya esté actualizando también la información nueva, se marcará la nueva vista como la activa. En ese momento se puede parar la función antigua y eliminar la vista anterior. Figura 2. Arquitectura Kappa 14 Big Data y Data Science: La revolución de los datos Como se puede apreciar, el diseño de la Arquitectura Kappa recuerda a la speed layer de la Arquitectura Kappa. Ambas leen los datos generados en tiempo real, usan un enfoque incremental para conseguir los resultados en tiempo real, y los almacenan en un sistema de persistencia que permita una consulta en tiempo real. Aunque podríamos entrar en diferencias entre ambos enfoques como son la necesidad de generar vistas precomputadas más complejas en esta arquitectura que en la Lambda, o la necesidad natural de entrenar modelos complejos en offline, la principal diferencia radica en la distinta madurez que las tecnologías de streaming processing tenían cuando se propusieron las dos soluciones. Actualmente en 2016 todo es tiempo real de forma predeterminada. Las tecnologías entienden que el streaming processing es el paradigma de procesamiento por defecto y que el batch processing es simplemente un caso concreto donde el streaming tiene un final definido. Por ejemplo Apache Beam, el estándar propuesto por Google para unificar APIs de procesamiento, engloba tanto batch como streaming. Lo mismo pasa con las pilas tecnológicas más avanzadas en la actualidad como son Apache Spark y Apache Flink: ambas se definen como tecnologías que unifican las dos filosofías de cálculo. A esa idea se suma también Apache Apex, el último motor de procesamiento Big Data que ha aparecido a escena. Por tanto desde el punto de vista del programador Big Data la situación se ha simplificado ya que con un único entorno tecnológico puede implementar la solución completa. Pero no así para el arquitecto Big Data que tiene que entender bien las diferencias que aún a día de hoy existen entre ambas arquitecturas, analizar los pros y contras de cada una, seleccionar las tecnologías adecuadas para su implementación y, sobre todo, encontrar la solución que mejor se adecúa a su problema concreto. 15 LA TECNOLOGÍA EN EL MUNDO DEL BIG DATA ANDRÉS GÓMEZ Graduado en Ingeniería de Telecomunicaciones y con un máster en Seguridad de la Información Informática, ambos por la Universidad de Sevilla. Comenzó en el mundo del Big Data usando tecnologías de Streaming Processing, para el desarrollo de su proyecto de fin de carrera, y desde entonces se ha estado especializando en el ámbito del Big Data y Cloud Computing. En la actualidad, trabaja como Big Data Architect en redBorder, diseñando y desarrollando el back-end de Big Data para proyectos como sistemas de detección de malware distribuido y monitorización de red en tiempo real. Siempre le ha apasionado la enseñanza y es el motivo por el que imparte clases como profesor en el Máster Arquitectura Big Data en Kschool. Big Data y Data Science: La revolución de los datos La tecnología en el mundo del Big Data En la actualidad, existen un gran cantidad de empresas que basan sus cimientos o desarrollan proyectos en torno al Big Data. Estos proyectos están constituidos mayoritariamente por tecnologías de código libre, creadas y desarrolladas para ingestar, procesar, almacenar o servir grandes cantidades de información. Aunque podemos agrupar las tecnologías en distintos grupos dependiendo de su funcionamiento y especificaciones no existe ninguna regla para saber cuál es la adecuada para nuestro proyecto. No obstante, podemos contestar una serie de cuestiones que nos ayudarán a tomar una decisión: ¿Cómo y dónde obtengo los datos? ¿Con qué tecnología realizo el procesamiento? ¿Dónde almaceno la información? ¿Cómo consulto la información? ¿Qué representación de los datos es la adecuada? ¿Qué tecnología Big Data es la adecuada para mi proyecto? 18 Big Data y Data Science: La revolución de los datos Las tecnologías Big Data se pueden clasificar dependiendo de su función principal y del tratamiento al que se somete la información. Si seguimos el flujo de la información para agrupar las diferentes tecnologías, encontraríamos los siguientes grupos: ingestión, procesamiento, almacenamiento y servicio. Pero la pregunta ahora sería: ¿Qué tecnología es usada en cada uno de los grupos? Ingestión La ingestión de datos es el proceso por el cual la información que se obtiene en tiempo real va siendo capturada o almacenada temporalmente para un posterior procesamiento. Un ejemplo de esta información, que es muy común en la actualidad, viene dado por los eventos reportados desde sensores distribuidos a un punto centralizado donde se procesan. Estos escenarios son los que nos encontramos en proyectos de IoT (Internet of Things), como puede ser los nuevos contadores de luz electrónicos, que reportan de forma periódica el consumo eléctrico de cada hogar a la central eléctrica. Otro entorno puede ser el envío de archivos de logs de diversas aplicaciones que se desean monitorizar. 19 Big Data y Data Science: La revolución de los datos Algunas de las tecnologías que podemos encontrar en este grupo son: - Sistemas distribuidos de colas: El más conocido actualmente es Apache Kafka, pero existen otros como RabbitMQ, y soluciones en la cloud como AWS Kinesis. - Sistemas de procesamiento de logs: Donde podemos encontrar tecnologías como Logstash y Fluentd. Procesamiento El procesamiento de la información es la fase en la que se realizan transformaciones a los datos en bruto para adaptar y obtener datos procesados y enriquecidos, que aporten el valor real de la información. El procesamiento se puede dividir en dos subgrupos dependiendo del volumen de datos y tiempo de procesamiento de estos: streaming processing y batch processing. Streaming processing El streaming processing es un procesamiento que se realiza en tiempo real, tan pronto como los datos son capturados por la fase de ingestión son transferidos a la fase de procesado en un flujo continuo, de esta forma los datos van siendo procesados en pequeñas cantidades. Las principales tecnologías clasificadas en su modo de procesamiento en este grupo son: - Full-Streaming: Apache Storm, Apache Samza, Apache Flink. - Microbatch: Spark Streaming, Storm Trident. 20 Big Data y Data Science: La revolución de los datos Estas tecnologías procesan eventos en cuestión de milisegundos y aseguran distintas garantías ante fallos de sistemas o de la red. Las garantías se suelen clasificar en tres grupos, que se pueden observar en la tabla a continuación: Storm Apache Spark Flink Streaming NO NO NO SI Mínimo una vez SI SI NO NO SI Exactamente una vez NO SI SI SI Máximo una vez SI NO Samza Trident Batch processing Por otro lado, el batch processing se realiza de manera periódica y son procesos que trabajan con grandes volúmenes de información (Gigabytes, Terabytes…). Principalmente, estos procesos se basan en el paradigma de MapReduce, que consta de dos fases: la primera es encargada de leer y adaptar los datos y en la segunda etapa es donde se realiza una agrupación de estos, normalmente en base a un clave común en todos. El ejemplo más común es el conocido “WordCount”, encargado de contar el número de repeticiones de cada palabra en un texto. 21 Big Data y Data Science: La revolución de los datos Al igual que en los distintos grupos, existen múltiples tecnologías para realizar procesos de batch processing. La más conocida es Hadoop MapReduce que funciona dentro del ecosistema de Hadoop apoyándose por su planificador YARN, pero la programación de estos procesos es algo costoso por lo que a lo largo de los años han ido surgiendo tecnologías que proporcionan abstracciones a más alto nivel para desarrollar estos procesos, algunos de estas tecnologías son: Apache Pig (Scripting), Cascading (Java), Cascalog (Clojure). Aunque Hadoop MapReduce trabaja bastante bien con grandes cantidades de datos, los procesos de Map y Reduce pueden ser lentos ya que necesitan escribir a disco entre distintas fases, por este motivo surgen nuevas tecnologías que solucionan este problema, algunas de ellas son: Apache Tez, Apache Spark o nuevamente Apache Flink, que trabaja tanto en streaming como en batch. 22 Big Data y Data Science: La revolución de los datos Almacenamiento Toda la información que se consume y se procesa tiene que ser almacenada para poder trabajar sobre ella en las fases de batch processing y para poder ser consultada y representada. El almacenamiento de la información se puede realizar de muchas formas, almacenándola completamente, lo que conoceríamos como almacenamiento en RAW, o realizando distintas indexaciones o compactaciones que incrementan la rapidez y facilitan el acceso. Existen dos sistemas de almacenamiento: sistemas de ficheros distribuidos y sistemas de almacenamiento de datos. Sistemas de ficheros distribuidos Los sistemas de ficheros suelen utilizarse para almacenar el RAW de la información o resultados de procesos MapReduce. Algunas de las tecnologías que existen hoy en día son: Hadoop HDFS Tachyon Riak-CS Soluciones en la cloud como AWS S3 Sistemas de almacenamiento de datos Por otro lado, estos sistemas de almacenamiento, son sistemas especializados y desarrollados para trabajar con estructuras de datos en concreto y se pueden clasificar en distintos tipos: 23 Big Data y Data Science: La revolución de los datos • Relacionales: En este grupo se encuentran las base de datos más comunes y conocidas como son: PostgreSQL, MySQL o soluciones cloud como Amazon RDS. • Clave / Valor: Estas tecnologías están optimizadas para almacenar información estructurada por clave/valor, es decir en el sistema las claves son únicas y una clave podrá tener asignada un único valor a su vez. Existen soluciones que trabajan en disco y otras que trabajan en memoria y su funcionamiento es similar al de una caché distribuida. Algunas tecnologías son: Redis, GridGain, Riak, Voldemort, Aerospike, Memcached, entre otras muchas. • Columnar: Estos sistemas de almacenamiento están caracterizados por el almacenamiento columnar de la información, normalmente se realizan indexaciones en una o varias columnas para aumentar la velocidad de búsqueda de información en ellas. La mayoría de las columnas se usan para trabajar con series temporales. Algunas de las tecnologías más utilizadas son: Cassandra, Druid, HBase y AWS Redshift. • Documentales: Las bases de datos documentales son usadas para almacenar y acceder a datos semi-estructurados con formatos como XML o JSON. Aunque permiten más libertad a la hora de almacenar los datos: esto puede perjudicar a la eficiencia o facilidad con la que se acceden a ellos. Algunos ejemplos de estas tecnologías, también conocidas como NoSQL, son: MongoDB, ElasticSearch o Couchbase. • Grafos: Algunos conjuntos de datos tienen una representación en grafos como puede ser la información de las redes sociales, o la información del tráfico de una red de datos. Estas bases de datos sacrifican el acceso a tablas de datos para proporcionar mayor flexibilidad a la hora de datos orientados a grafos. Algunas de estas bases de datos son: Neo4j o OrientDB. 24 Big Data y Data Science: La revolución de los datos Servicio El último grupo es el encargado de representar la información almacenada en la fase de almacenamiento. Las tecnologías de este grupo suelen ser frameworks para crear aplicaciones WEB, algunos de ellos son: Ruby on Rails Node.js Django AngularJS Estos frameworks se apoyan en librerías de visualización de datos como: D3, Chart.js, Highcharts o Kibana. 25 Big Data y Data Science: La revolución de los datos Evalúa tus necesidades En conclusión hemos podido ver que existen una gran variedad de tecnologías relacionadas con el mundo del Big Data y que si la clasificamos en distintos grupos, aun así encontramos una gran variedad dentro de cada grupo. Es por ello que la respuesta a la pregunta “¿Qué tecnología es la adecuada?”, depende de la situación. Cada proyecto tiene unas necesidades diferentes y aunque algunos proyectos tengan cierta similitud puede que unas tecnologías se adapten mejor que otras. El conjunto de estas tecnologías cooperando entre sí da lugar a distintas arquitecturas, algunas de ellas son Arquitecturas Lambda y Arquitecturas Kappa, en este artículo no entraremos al detalle de dichas arquitecturas. En la empresa en la que desarrollo mi labor como arquitecto de Big Data, trabajamos utilizando una arquitectura Lambda en la cual utilizamos Apache Kafka para la ingestión de datos por su gran escalabilidad y alta disponibilidad. Apache Samza es la elegida para el streaming processing por su simplicidad en el desarrollo y la gran integración que tiene con Kafka. Apache Pig y Apache Spark para procesamiento por lotes: el primero para análisis de ficheros binarios y el segundo para analiticas más profundas de nuestros datos. Almacenamos RAW de información en HDFS y S3, por su robustez y utilizamos sistemas de almacenamiento de datos de distintos tipos: Aerospike por su integración con una gran cantidad de lenguajes y Druid por su facilidad para trabajar con series temporales. Finalmente, nuestro grupo de servicio está implementado en Ruby on Rails a través del cual se representan datos, analíticas de seguridad y tráfico de red para nuestro producto conocido como redBorder. 26 LA BANCA, ANTE UNO DE SUS RETOS MÁS APASIONANTES MARTA CÁMARA Licenciada en Economía en la Universidad Rey Juan Carlos y en Ciencias Actuariales y Financieras en la Universidad Complutense. Marta Cámara ha trabajado en banca y seguros, y, desde hace 5 años en Medios de Pago (actualmente, en el departamento de Negocio en EURO 6000). Big Data y Data Science: La revolución de los datos La banca ante uno de sus retos más apasionantes La crisis del sistema financiero español, el proceso de fusión y la desaparición de muchas entidades, provocó el cierre de más de 12.000 oficinas bancarias desde 2008, y más de 5.000.000 de usuarios se vieron afectados de una manera u otra por este fenómeno. Por ello, la presión regulatoria a la que fue sometida la banca para hacerla más robusta, la obligó a invertir en áreas como gestión de riesgo y cumplimiento normativo. No, no es que me guste regodearme en los malos tiempos y las crisis: pero no sería una buena analista ‘del dato’ si dejara fuera de la ecuación el pasado reciente de mi sector, el de la Banca. En este escenario, no hace tantos años, la banca se enfrentaba a un doble desafío: fidelizar los clientes que tenía y prevenir su abandono, a la vez que aprovechar la gran oportunidad de captar nuevos clientes. Esto es más importante de lo que parece si se tiene en cuenta que el Sector nunca se ha tenido que preocupar de ello. 29 Big Data y Data Science: La revolución de los datos Por suerte para los que nos dedicamos a esto, esta situación ha acelerado la tendencia hacia la gestión de datos y, por tanto, hacia la necesidad de nuevas y más avanzadas iniciativas de explotación de los mismos. El escenario que se nos avecina, aunque va a necesitar muchos esfuerzos y mucho cambio, es esperanzador. El sector bancario hoy en día, como hace años pasó ya en otros sectores como los medios de comunicación y/o la publicidad, tiende hacia una banca online cada vez con más fuerza. Las entidades se enfrentan día a día a nuevos desafíos, el principal: explotar y sacar rentabilidad a la gran cantidad de datos que manejan de sus clientes para poder ofrecerles servicios y productos personalizados que se ajusten mejor a sus necesidades. Cuanto mayor sea el conocimiento que tenga la entidad sobre su cliente, más adaptados serán los productos que le pueda ofrecer. La información que tiene un banco sobre sus clientes va desde los movimientos que realice el cliente con su cuenta (transferencias, domiciliaciones de recibos…) o con su tarjeta (compras en comercios o reintegros en cajeros), hasta los productos y servicios que tenga contratados e, incluso, datos sociodemográficos (sexo, edad, estado civil, situación laboral…). Activar toda esta información es básico (y, seguro, rentable). Una transacción realizada con una tarjeta, gracias a su geolocalización -es decir, a la relación de dos aspectos clave, las actividades (personas, movimiento, concentraciones…) y los lugares (coordenadas, regiones…)genera información muy valiosa desde diferentes puntos de vista: 30 Big Data y Data Science: La revolución de los datos • La entidad emisora de la tarjeta obtiene información acerca de su cliente: hábitos de consumo. • La entidad adquirente del TPV del comercio o cajero localiza posibles clientes potenciales. Según recientes estadísticas sobre tarjetas de pago publicadas por el Banco de España, las compras en comercios españoles con tarjetas emitidas también por entidades españolas, están creciendo en los dos últimos años en torno a un 8% interanual, superando ya los 2,5 millones de operaciones al año. Esta información tiene gran relevancia para el sector, dado que es el dato que mejor describe la realidad de los consumidores. 31 Big Data y Data Science: La revolución de los datos 32 Big Data y Data Science: La revolución de los datos Con esta gran cantidad de información surge el principal problema: hay que almacenar, limpiar y analizar dicha información para obtener datos útiles. Es aquí donde entra en juego el papel del Big Data. El Big Data permite analizar grandes volúmenes de datos de múltiples fuentes, que es precisamente el problema que tiene el sector bancario con la información que recoge de sus clientes (diversidad y cantidad de datos). El 64% de las compañías del sector financiero están invirtiendo en Big Data (según los datos de una encuesta realizada por HP Analytics and Data Management). Aún así, la revolución de los datos todavía tiene mucho que hacer en el sector financiero, que está en proceso de transformación. El principal problema que están encontrando las entidades a la hora de poner en marcha programas e iniciativas de Big Data, además de las restricciones presupuestarias, es la falta de profesionales relacionados con este campo. Datos, datos, datos. Bien, ¿pero quién los maneja?: cada paso que se da en esta revolución del dato… se hace más evidente que se necesitan perfiles que los sepan gestionar. Y ese es el científico de datos. Se trata de un profesional con un perfil multidisciplinar que combina tres características: formación en alguna ciencia cuantitativa, con conocimientos de optimización, simulación, series temporales, modelos de clasificación, etc; habilidades tecnológicas, tales como dominio de lenguajes de programación, manejo de bases de datos y capacidad para procesar grandes volúmenes de información; la tercera característica, fundamental y más difícil de aprender, es el conocimiento del negocio en el que se mueve. Estoy segura que en el sector hay mucha gente que ya sabe del negocio, pero también de que existe un hueco laboral enorme en aquellos perfiles que combinan las tres características anteriores. 33 Big Data y Data Science: La revolución de los datos En Banca, como en cualquier otro sector, su trabajo consiste en generar una pregunta, teoría o hipótesis frente a un volumen masivo de datos y aplicar sus conocimientos y habilidades para responderla, verificarla o descartarla. Este proceso se compone de 5 pasos y se conoce como “proceso data science”: 1. Formulación. Es el momento de plantear una pregunta relevante para el negocio, que se deberá responder. 2. Obtención de datos. Aquí se ha de buscar la mayor cantidad de datos posible. Se pueden extraer de diferentes fuentes, estructuradas (como datawarehouses) y no estructuradas (por ejemplo, Redes Sociales). Aquí tenemos una gran diferencia entre el Business Intelligence y el Big Data: la no necesidad de tener unos datos bien estructurados para poder trabajar con ellos. 3. Exploración de los datos. El primer paso será familiarizarse con los datos y “limpiar” el fichero de aquellos datos que puedan desvirtuar el análisis. Posteriormente, se aplican técnicas de estadística descriptiva para realizar un análisis exploratorio. 4. Modelización. Esta fase consiste en la creación y validación de modelos que se enriquecen por algoritmos generados ad hoc para grandes volúmenes de información y por modelos alternativos a los clásicos que aportan mejoras. 5. Visualización. Aquí se debe utilizar una visualización clara, intuitiva y natural, de manera que se representen los datos y su estudio de manera legible para terceras personas. 34 Big Data y Data Science: La revolución de los datos En términos generales, el principal reto de un Data Scientist en una entidad bancaria es ser capaz de digerir la gran cantidad de datos que se manejan para la toma de decisiones y estrategias de negocio. Y éstas pueden ser muy diversas: desde las áreas de banca personal hasta la banca de empresas, pasando por el sector seguros y los medios de pago. Algunas de las aplicaciones prácticas a las que se enfrenta son: • Segmentación avanzada de sus clientes. La incorporación de nuevas fuentes de datos a las segmentaciones tradicionales posibilita la obtención de una visión y un entendimiento más completos de sus clientes. Conocer mejor a los clientes permite realizar un targeting más ajustado, y esto se traduce en mayor eficiencia y rendimiento de las acciones comerciales. En este sentido, una de las principales preocupaciones de las entidades hoy en día es la política comercial que deben seguir con sus clientes en las retiradas de efectivo en cajeros a partir del Real Decreto-ley 11/2015, de 2 de octubre, que regula las comisiones por la retirada de efectivo en los cajeros automáticos. • Fidelización de clientes. Como ya comentábamos, tras la crisis del sector, se ha generado una fuerte pérdida de confianza por parte de los clientes hacia las entidades bancarias, por lo que detectar el abandono con suficiente antelación (especialmente para los clientes de mayor valor) y definir acciones de retención eficientes ha pasado a ser una prioridad para las entidades. • Captación de clientes. A través de las operaciones registradas en los TPV y cajeros de una entidad, ésta puede localizar clientes potenciales e intentar captarles. 35 Big Data y Data Science: La revolución de los datos • Detección de alertas. Otra información importantísima que una entidad puede obtener de las transacciones realizadas con tarjeta es la “fuga de clientes”: ¿qué clientes están dejando de operar con mis tarjetas? ¿Qué comercios están dejando de procesar operaciones en mis TPVs? ¿A qué se debe esta pérdida de operaciones en un TPV: el comercio está teniendo una bajada de negocio o está procesando por un TPV que no es de mi entidad? • Mejor gestión de la “omnicanalidad”. La banca online debe tratar de ofrecer a un cliente una atención similar a la que pueda recibir en una oficina física. Por lo que es fundamental tener una buena segmentación de clientes y productos, a la vez que una definición de estrategias de pricing dinámico por segmento de clientes en un contexto que se acerca al real time. Después de la tormenta siempre llega la calma. Tras los malos años pasados por la banca, si ésta es capaz de subirse al tren del Big Data y aprovechar gran parte de la información que maneja, tendrá por delante un futuro esperanzador. 36 COGNITIVE COMPUTING: PERCIBIR, COMPRENDER, ACTUAR RAÚL ARRABALES Raúl Arrabales Moreno es ingeniero en informática, doctor en Inteligencia Artificial y MBA. En los últimos años Raúl ha liderado proyectos y start-ups de base tecnológica asumiendo diferentes roles, desde Jefe de Proyecto a CEO, en compañías como IBM, Arris, Orange, Comaware y Altran. Actualmente Raúl es Analytics Senior Manager en Accenture Digital. En el ámbito científico, Raúl contribuye al avance de las Ciencias Cognitivas con nuevos modelos computacionales y también imparte clases y conferencias de Informática, Inteligencia Artificial, Inteligencia de Negocio, Robótica y Sistemas Cognitivos en diferentes centros, habiendo sido profesor doctor de la Universidad Carlos III de Madrid y director del área de ingeniería en U-tad (Universidad Camilo José Cela). Big Data y Data Science: La revolución de los datos Cognitive Computing: percibir, comprender, actuar Con el establecimiento y la madurez de las grandes compañías de Internet llegó la era del Big Data. Ahora cualquier empresa puede tener a su alcance tecnología capaz de procesar ingentes cantidades de información, hacerlo en tiempos cada vez más cortos (incluso en tiempo real) y manejar nuevas fuentes de datos que antes ni siquiera se tenían en consideración (o simplemente no existían). Ahora, la adopción tecnológica del Big Data ha pasado su punto álgido y nos preguntamos qué será lo siguiente. ¿Cuál es el siguiente cambio disruptivo que hará que los negocios y las personas interactúen de forma diferente? ¿Cómo será la evolución del mundo tecnológico en el que vivimos? Si miramos un poco hacia atrás, podemos ver que el Big Data y Analytics han cambiado nuestra forma de pensar sobre los datos, la nube ha cambiado el modelo de explotación de los recursos informáticos y los dispositivos móviles han moldeado todo el ecosistema digital. ¿Qué nuevas tecnologías progresarán sobre este nuevo entorno tan rico y dinámico? ¿Cuál es el siguiente paso natural en la evolución digital? 39 Big Data y Data Science: La revolución de los datos Debido a la gran complejidad, la cantidad y la velocidad a la que se procesan los datos, los procesos de obtención de conocimiento ya no los pueden realizar completamente los humanos. La inteligencia ha de recaer en gran medida en las máquinas. Este fenómeno en sí no es nada nuevo, pues es habitual desde hace muchos años que la Inteligencia Artificial se ocupe de ciertas tareas automatizadas que requieren una adaptación a la variabilidad que presenta el entorno (recordemos que sin variabilidad no necesitaríamos Inteligencia Artificial, nos bastaría con programar reglas fijas cuya ejecución siempre es la misma). Lo que sí es nuevo en el mundo empresarial es la búsqueda de una nueva inteligencia, cuya forma de operar es más similar a la humana. Nuevos desarrollos como Watson de IBM persiguen diseñar máquinas con capacidades humanas (en este caso el uso del lenguaje natural). En 2011 Watson participó en el concurso televisivo de preguntas y respuestas Jeopardy, derrotando a dos de los mejores participantes humanos del programa 40 Big Data y Data Science: La revolución de los datos La Computación Cognitiva trata de replicar el mismo tipo de funcionamiento psicológico que tienen organismos biológicos intelige ntes como los humanos. Por ejemplo, los humanos usamos el lenguaje natural (como el español o el inglés) para comunicarnos, mientras que las máquinas “tradicionales” usan otros lenguajes mucho más limitados. En general, en diversos ámbitos existe una gran motivación por conseguir máquinas cuya capacidad sea equivalente a la humana. Pero la Computación Cognitiva no se refiere simplemente al uso de nuevos interfaces de comunicación basados en el lenguaje natural, el paradigma de los sistemas cognitivos artificiales va mucho más allá. Al igual que ocurre con otros “términos paraguas” (que agrupan muchos conceptos en su definición) como Big Data o Cloud, las tecnologías de Computación Cognitiva se definen a menudo como una combinación de Machine Learning, Analytics, Big Data y Procesamiento del Lenguaje Natural. Sin embargo, esto no es en realidad ni una definición, ni un buen modo de describir lo que es Cognitive Computing. Sería más preciso decir que los sistemas cognitivos son aquellos capaces de percibir lo que ocurre en su entorno, razonar sobre ello hasta comprenderlo y actuar en consecuencia. En otras palabras, un sistema cognitivo es capaz de dar sentido a los datos que percibe del entorno, pudiendo generar de esa forma respuestas adaptativas (y por tanto inteligentes). Una característica muy interesante de los sistemas cognitivos es que su “algoritmo principal”, que podríamos esquematizar como percibir – comprender – actuar, incluye además la observación de las consecuencias de su actuación y el consiguiente aprendizaje. Por eso los mecanismos de aprendizaje son una parte importante de los sistemas cognitivos. Pero como vemos, el aprendizaje no puede suceder en el vacío, se aprende a través de la constante interacción con el medio, descubriendo las consecuencias de las acciones. Por eso hablar de Aprendizaje Automático no es sinónimo de Cognitive Computing, es más correcto considerar que los algoritmos de Aprendizaje Automático son un componente de los sistemas cognitivos. 41 Big Data y Data Science: La revolución de los datos ¿Y qué más componentes necesitamos? Pues otra pieza habitual, como hemos visto, suele ser un mecanismo de comprensión y producción de lenguaje. El principal motivo para desarrollar esta característica en los sistemas cognitivos artificiales es que queremos que éstos se comuniquen con los humanos de forma natural. Los humanos nos comunicamos entre nosotros usando el lenguaje y tiene todo el sentido del mundo que nuestras máquinas también sean capaces de hablarlo. Ahora bien, que esta característica sea muy deseable no implica que sea fácil de conseguir. Cualquiera que haya intentado mantener una conversación con Siri, Cortana o cualquier otro asistente virtual sabe que las capacidades dialécticas de las máquinas de hoy en día dejan bastante que desear. Sin embargo, ya empieza a ser una realidad el contar con máquinas que lean de forma automática miles y miles de documentos escritos en lenguaje natural, extrayendo la información relevante que buscamos en cada momento. Por ejemplo, la plataforma de Cognitive Computing de Loop es capaz de leer documentos de forma totalmente autónoma (no supervisada – sin ninguna intervención humana previa), razonando sobre el texto y extrayendo una representación estructurada de los conceptos tratados y la relación existente entre ellos. Aunque es cierto que el lenguaje natural es uno de los métodos de interacción que queremos que nuestras máquinas tengan, esto no significa necesariamente que un sistema cognitivo tenga que poder hablar y comprender el lenguaje. De hecho, conocemos muchos ejemplos de seres vivos a los que se les da fenomenal el algoritmo percibir – comprender – actuar y jamás han dicho esta boca es mía. Pensemos por ejemplo en un entorno IoT (Internet de las Cosas), donde lo que queremos de nuestros sistemas cognitivos es que sean capaces de tener un mecanismo de atención tan avanzado como el de los humanos. De esta forma podrían filtrar de forma adaptativa toda aquella información que no es relevante y procesar adecuadamente los datos importantes. 42 Big Data y Data Science: La revolución de los datos Recordemos que en un entorno IoT, al igual que ocurre con el cuerpo humano, tenemos un número ingente de sensores que no paran de generar datos en tiempo real. Se requiere de un avanzado sistema atencional capaz de decidir de forma dinámica qué información es relevante y qué información hay que descartar. Lo normal es que no se pueda procesar en profundidad todo el conjunto de datos que se recibe a cada instante, pues esto supondría un coste prohibitivo y además no aportaría valor. Los más inteligente, que es lo que hacen todos los animales incluidos nosotros, es seleccionar una pequeña parte del espacio sensorial para procesar en profundidad. El resto de la información que entra por nuestros sentidos termina desapareciendo sin más pena ni gloria (pensemos por ejemplo en el color de las sillas y los detalles de la ropa de los camareros del último restaurante al que fuimos. Toda esta información estuvo presente en nuestra retina, pero nuestro mecanismo de atención decidió descartarla y jamás pasó a formar parte de nuestra memoria a largo plazo, motivo por el cual ahora no podemos recordar estos detalles – a no ser que el vestuario de los camareros fuera obra de Agatha Ruiz de la Prada, en cuyo caso probablemente lo recordaríamos). Tanto en un despliegue IoT de una Smart City como en el cuerpo humano contamos con millones de unidades de medición que envían sus datos a un sistema neurálgico. Discernir el grano de la paja es una capacidad inherentemente humana y un proceso muy difícil de especificar algorítmicamente. Este es otro buen ejemplo de las capacidades humanas que se pretenden implementar en los sistemas cognitivos artificiales. Como hemos visto, el objetivo de los enfoques Cognitive Computing es crear sistemas artificiales que sean capaces de percibir, comprender y actuar, basándose en procesos cognitivos como el aprendizaje, la atención o la memoria. Mientras que los enfoques clásicos de la Inteligencia Artificial se basaban en procesos de inferencia simbólica (el equivalente humano a la psicología del pensamiento), la línea cognitiva más reciente pone foco en la interacción con el ambiente, materializada ésta en los mecanismos de percepción y actuación, enriqueciendo además el modelo de procesamiento interno con mecanismos como la atención o la emoción. 43 Big Data y Data Science: La revolución de los datos El desarrollo de este tipo de sistemas hará que en los próximos años dejemos de hablar de Big Data y empecemos a hablar de Affective Computing, Smart Robots, Smart Advisors, etc. 44 ESCUELA BIG DATA SCIENCE KSCHOOL (MADRID) Big Data y Data Science: La revolución de los datos Escuela Big Data Science de KSchool La escuela de Big Data Science de KSchool nace fruto de nuestro afán por cubrir la falta de formación técnica especializada y tiene como objetivo acercar estos nuevos conocimientos a las personas que quieran profesionalizarse en el campo de las Arquitecturas Big Data y el Data Science. Éstas dos grandes ramas marcan la diferenciación en nuestros programas y, por tanto, la especialización en la materia: BIG DATA. Cuando nos referimos a la arquitectura Big Data, hablamos de las estrategias de Ingeniería del Software para el diseño e implementación de sistemas escalables intensivos en datos. Una disciplina centrada en el desarrollo de software capaz de gestionar grandes cantidades de datos, con una estructura diversa, que se generan en tiempo real y/o que necesitan ser procesados para dar una respuesta en tiempo real. Las claves para adentrarse en este mundo están en saber programar, desarrollo de software, administración de sistemas y de base de datos. Los cursos que encontrarás en esta área son Hadoop y Spark, Apache Flynk y Open Stark, además de nuestro Máster en Arquitectura de Big Data dirigido por Rubén Casado, Big Data Manager en Accenture Digital. 46 Big Data y Data Science: La revolución de los datos Por otro lado, si lo tuyo son más las matemáticas, las estadísticas y el análisis de datos… estás más cerca del DATA SCIENCE, la parte que trata de desarrollar los procesos analíticos de datos para extraer valor de ellos. En Data Science potenciamos las habilidades para el análisis y gestión de los datos con el fin de tomar decisiones. En nuestra oferta formativa encontrarás el Máster de Data Science que está dirigido por Israel Herráiz, Data Scientist en Amadeus It Group, y otros cursos como: Soluciones de negocios para científicos de datos y analistas, y el Programa Profesional de Iniciación a R. En la imagen que os mostramos a continuación, veréis un itinerario donde relacionamos las materias, perfiles profesionales y áreas especializadas del amplio mundo del Big Data y Data Science. Según tu perfil, podrás elegir el camino que mejor se adapte a tus expectativas profesionales. Para ello, trabajamos día a día para ofreceros la más completa, especializada y actualizada oferta de cursos. Dependiendo del área al que quieras optar, deberás cumplir con una serie de conocimientos previos que, si no los tienes, podrás adquirir gracias a nuestros cursos ‘satélite’. Por ejemplo, si ya sabes de programación y Linux, te recomendamos que antes de hacer nuestro máster en Data Science refuerces y adquieras los conocimientos de estadística gracias a nuestro curso: Introducción a la estadística para Data Science. Si, por el contrario, lo tuyo son las matemáticas y la economía, te ofrecemos un curso con el que ponerte al día en programación. Y, en el caso del área de Big Data, antes de sumergirte de lleno con nuestro máster de 230h, te enseñamos a manejar herramientas como Apache Flink o Hadoop y Spark. ¡Echa un vistazo a nuestros itinerarios y traza tu camino! 47 Big Data y Data Science: La revolución de los datos 48 Big Data y Data Science: La revolución de los datos Si quieres más información, consulta nuestra comunidad Big Data Science donde verás que participamos en distintas actividades y organizamos varios saraos, además de juntar a profesionales, alumnos, profesores y empresas para ampliar vuestra red de contactos. Después de cinco años formando profesionales de internet, en KSchool seguimos comprometidos con nuestro modelo de formación práctica y de calidad, ofreciendo una oferta de formación completa, actualizada y especializada, dirigida por los mejores profesionales del sector, nuestros profesores. Datos de KSchool Total de alumnos: 1273 Tasa de ocupación: 96% Total programas: 13 Total ediciones: 86 49 Kschool • www.kschool.com Calle José Picón, 31, 28028 - Madrid Director: Alejandro D. Doncel Colección: Big Data y Data Science: la revolución de los datos · Cuaderno #4 Editor: KSchool • www.kschool.com