Nueva Generación de Arquitectura para Big Data Luis Reina ([email protected] @luisrei) © 2014 IBM Corporation La nueva era de la Computación Cognitiva transformará negocios y profesiones IBM Watson Demostró el Poder de la Analítica de Big Data ¿Podemos diseñar un sistema de computación que rivalice con la capacidad humana de responder a preguntas planteadas en lenguaje natural, interpretando el significado y el contexto y recuperando, analizando y entendiendo enormes cantidades de información en tiempo real? Las capacidades de analítica avanzada de Watson pueden revisar el equivalente a 200 MILLONES de páginas de datos para responder a una pregunta en 3 SEGUNDOS. Más allá de las bases de datos • En el mundo hay millones de documentos de texto. Muchos ya digitalizados y disponibles en Internet. • Watson encuentra información en bases de datos en menos del 2% de las preguntas. • Los autores e investigadores publican en Internet de la forma más productiva para ellos, no para que sea procesado por ordenadores. • Watson trabaja con texto no estructurado. "As is“. • Watson ha aprendido al leer. WellPoint : Primera aplicación de Watson en Seguros de Salud • WellPoint, la segunda aseguradora de salud más grande de norteamerica: + 34 millones de miembros, y más de 100 millones de antiguos miembros + 5.400.000 proveedores. • 12 Sep 2011: WellPoint e IBM anuncian la primera aplicación comercial de la tecnología de IBM Watson. • WellPoint está desarrollando soluciones basadas en Watson con el objetivo de mejorar tanto los diagnósticos en los pacientes, como los tratamientos a aplicar, suministrando evidencias actualizadas al día. • IBM desarrollará la base de la tecnología de la salud de Watson. • Watson será entrenado. DeepQA en Continuo Análisis de Diagnóstico basado en Evidencias Procesa una gran cantidad de evidencias mejorando la calidad en la atención, reduciendo costes Diagnosis Models Find ds Me Hist Fam p Sym Síntomas Nivel de Confianza Renal failure Historial Familiar Historial del Paciente Medicación Pruebas/Diagnóstico s Notas/Hipótesis UTI Diabetes Influenza hypokalemia esophogitis Most Confident Diagnosis: Diabetes UTI Influenza Most Confident Diagnosis : Diabetes and Esophogitis Enorme Volumen de Textos, Revistas, Referencias, Bases de Datos, etc. El anuncio... • ARMONK, N.Y. - 09 Jan 2014: IBM (NYSE: IBM)... Watson Group... a new business unit ... cloud-delivered cognitive innovations... think, improve by learning, and discover answers and insights to complex questions from massive amounts of Big Data. • • • • $ 1 billón (americano) $ 100 millones 2.000 personas 760+ aplicaciones • According to technology research firm Gartner, Inc., smart machines will be the most disruptive change ever brought about by information technology, and can make people more effective, empowering them to do "the impossible”. © 2014 IBM Corporation La conversación analítica hasta hoy ? Requiere modelado de datos Carece de capacidades predictivas Requiere entender el ‘lenguaje' específico del producto Dependencia de las capacidades/intepretación del usuario © 2014 IBM Corporation El nuevo paradigma de interacción ? UX Lenguaje natural PREPARACIÓN Selección cognitiva Datos relevantes Tiempo real INTERACCIÓN Representación gráfica gramatical Analítica avanzada UX Lenguaje natural © 2014 IBM Corporation La analítica cognitiva en acción Tengo la ¿Por qué descienden mis ventas? respuesta. Sé lo que hacer. He tomado la …el sistema aplica los modelos analíticos… El sistema cognitivo ayuda al usuario a… …el usuario aplica su experiencia e ideas… …el usuario interactua y diseña nuevos escenarios… …hallar datos relevantes …y buscar relaciones relevantes… decisión. …Y dibujarlo… IBM analytics Humano © 2014 IBM Corporation Arquitectura de Big Data Cognitive - What did I learn, what's best? Real-time Analytics Data in Motion Data at Rest Information Ingestion and Operational Information Landing Area, Analytics Zone and Archive Exploration, Integrated Warehouse, and Mart Zones Prescriptive - What should I do? DecisionMaking Predictive - What could happen? Diagnostic - Why did it happen? Descriptive - What is happening? Business Processes Information Governance Data in Many Forms Security, Systems, Storage and Cloud Point of Interaction Big Data Hadoop ≠ “There’s a belief that if you want big data, you need to go out and buy Hadoop and then you’re pretty much set. People shouldn’t get ideas about turning off their relational systems and replacing them with Hadoop.” Ken Rudin Head of Analytics at Facebook Componentes Claves de Hadoop • Sistema de Ficheros: HDFS – Donde Hadoop almacena los datos. – Usa discos locales pero trababa como un gran sistema de ficheros entre multiples nodos. • Map/Reduce – Algoritmo para procesar los datos en el cluster. – Son 2 pasos MAP y REDUCE. – Divide y Vencerás HDFS es un sistema de ficheros para el Cluster HDFS= HAdOOP Distributed FILESYSTEM HDFS es un sistema de ficheros para almacenar los datos que se van a analizar. Es un único sistema de ficheros distribuido. Los datos se reparten por todo el cluster. Cada nodo del cluster tiene un “cachito” de los datos . Esto “cachitos” se llamas bloques y son de 64MB por defecto. HDFS asume que un nodo puede fallar replicando los datos en multiples nodos ¿Qué es Map/Reduce? • Algoritmo para analizar los datos. • Partimos de que se han distribuido los datos por el cluster (HDFS). • El programa que analiza estos datos hace uso del algoritmo Map/Reduce. Estos programas se llaman Jobs que se dividen en Tareas (Tasks) de tipo Map y Reduce • Paso 1: Tarea Map – Convierte los datos en Tuplas: (clave, valor) • Paso 2: Tarea Reduce – Reduce el número de Tuplas generadas por Map (e.g. agregando) Ejemplo de MapReduce Contar el número de apariciones de cada palabra Hello World Bye World Datos Entrada Proceso Map Hello IBM Map 1 emite: < Hello, 1> < World, 1> < Bye, 1> < World, 1> Map 2 emite: < Hello, 1> < IBM, 1> Reduce (output final): Proceso Reduce < < < < Bye, 1> IBM, 1> Hello, 2> World, 2> Hadoop Visualmente Hadoop Data Nodes public static class TokenizerMapper public static class TokenizerMapper extends Mapper<Object,Text,Text,IntWritable> { extends Mapper<Object,Text,Text,IntWritable> { private final static IntWritable private final static IntWritable one = new IntWritable(1); one = new IntWritable(1); private Text word = new Text(); private Text word = new Text(); public void map(Object key, Text val, Context public void map(Object key, Text val, Context StringTokenizer itr = StringTokenizer itr = new StringTokenizer(val.toString()); new StringTokenizer(val.toString()); while (itr.hasMoreTokens()) { while (itr.hasMoreTokens()) { word.set(itr.nextToken()); word.set(itr.nextToken()); context.write(word, one); context.write(word, one); } } } } } } public static class IntSumReducer public static class IntSumReducer extends Reducer<Text,IntWritable,Text,IntWrita extends Reducer<Text,IntWritable,Text,IntWrita private IntWritable result = new IntWritable(); private IntWritable result = new IntWritable(); public void reduce(Text key, public void reduce(Text key, Iterable<IntWritable> val, Context context){ Iterable<IntWritable> val, Context context){ int sum = 0; int sum = 0; for (IntWritable v : val) { for (IntWritable v : val) { sum += v.get(); sum += v.get(); 1. Map Phase (break job into small parts) Distribute map tasks to cluster . . . . . . (transfer interim output for final processing) 3. Reduce Phase MapReduce Application Shuffle Result Set 2. Shuffle Return a single result set (boil all output down to a single result set) Como crear Programas Hadoop (Jobs Map/Reduce) Desarrollos Map/reduce en Java Difícil Muy Complejo Pig Lenguaje Open/Source de más alto nivel Estándar PIG Hive Lenguaje Open/Source Similar al SQL Jaql Inventado por IBM Research Más potente que Pig Visa ha sido un partner del desarrollo Herramienta BigSheets Navegador/Hoja de Cálculo No requiere desarrollo La más fácil de Usar Fácil Big Sheets Demo de Análisis de Tweets © 2014 IBM Corporation