tópicos de big data - introducción
DESCRIPTION
Introducción a Big Data Las unidades temáticas y ejemplos están motivados mayormente en problemas actuales derivados de la Web, su estructura y en los datos que ésta genera a partir de sitios de noticias, redes sociales, buscadores de internet, sistemas de comercio electrónico, entre otros. Para ello se han diseñado una recopilación de técnicas, algoritmos y problemas agrupado en ejes temáticos. Se dará énfasis a la problemática conocida como Big Data que trata sobre el tamaño de los datos, el modelo de arquitectura y file systems distribuidos de gran escala. Introducción a los problemas sobre volúmenes de datos muy grandes (Big Data); arquitectura de datos y file system distribuidos de gran escala y modelo map reduce para diseñar algoritmos paralelos. Principio de Bonferroni, límite estadístico en el data-mining. Paradoja de Rhine, Detección de gente sospechosa Referencias: http://7puentes.com http://datamining.dc.uba.ar http://www.mmds.orgTRANSCRIPT
Tópicos de Data Mining en Big Data Ernesto Mislej - @fetnelio [email protected]
Buenos Aires, 20 de Octubre de 2014
1
Data Is the new Oil
2
Data expands to fill the space
available.
Parkinson's Law of Data
3
Modelos analíticos según la complejidad Data inputs
Balances
Filtro Colaborativo
Social Media Stream
BI - OLAP
Cart Analysis
Internet of Things
4
Web Buzz!
“…Scientific hindsight shows that Google Flu Trends far overstated this year's flu season…”
David Wagner, Atlantic Wire, Feb 13 2013
5
“La radio pasa Whitney, voy a llorar! Qué canción triste” “Whitney no murió, qué tristeza, Dios!” “Realmente Whitney murió? Qué mal” “Whitney Houston y Michael Jackson, quién tenía más problemas?” “Cuando canta Whitney me pongo muy triste” “Te amamos Whitney”
Pobre Whitney…
6
Límites: Correlación vs. Causalidad
Correlation does not imply causation
7
Principio de Bonferroni
8
Límite estadístico
Un gran riesgo en las tareas de big data reside en descubrir patrones carentes de significado. • El principio de Bonferroni: (vagamente) si en tu afán de encontrar patrones interesantes
buscas en una cantidad muy superior de la que tus datos soportan, estás frito. Ejemplo: “Total Information Awareness” • Supongamos que creemos que existe un grupo de espías secretos que se reúne
ocasionalmente en hoteles para diseñar sus planes.
• Objetivo: Hallar personas que al menos 2 veces estuvieron en el mismo hotel el mismo día.
9
Límite estadístico (cont.)
Ejemplo: “Total Information Awareness” (ejemplo ficticio!) • 109 personas están alcanzadas por el sistema de monitoreo. • Se toma un período de 1000 días. • Cada persona reside en un hotel el 1% del período: 10 días de los 1000. • Los hoteles tienen capacidad para 100 personas. • Existen 105 hoteles.
¿Si todas las personas se comportan de manera normal (no espía), acaso el data mining detectará a los espías?
10
Límite estadístico (cont.)
La probabilidad que dada las personas p y q compartan el mismo hotel el día d:
1/100 x 1/100 x 10-5 = 10-9
La probabilidad que p y q esten en el mismo hotel en los días d1 y d2
10-9 x 10−9 = 10-18
Pares de días
5x105
11
Límite estadístico (cont.)
La probabilidad que p y q compartan el mismo hotel algún par de días d1 y d2
5x105 x 10-18 = 5x10-13
Pares de personas
5x1017
Número esperado de espías candidatos
5x1017 x 5x10-13 = 250000
12
Límite estadístico (cont.)
Conclusión Debemos interrogar a 250mil personas para poder hallar a 10,100 espías secretos.
Cuando busquemos una propiedad (por ejemplo que 2 personas coincidan 2 veces en el mismo hotel), estemos seguros que esa propiedad no se encuentre de manera aleatoria en los casos
13
La paradoja de Rhine
14
15
Qué es Big Data? Big Data means "a collection of data sets so large and complex that it becomes difficult to process using on-hand database management tools or traditional data processing applications."
16 Erupcción del Géiser Strokkur, by Andreas Tille
17
Volumen ¿Cuánto es mucho?
"Big data sizes are a constantly moving target" "Hoy en 2 días generamos tanta información como toda la que se generó en la historia de la civilización hasta el año 2003" Los exabytes (mucho más que mega, giga, tera o peta) que generan a diario nuestras máquinas en red exceden ampliamente toda la información junta generada hasta el siglo XXI Escalabilidad
18
Velocidad - Análisis del Stream de datos - Los autos modernos tienen más de 100 sensores que generan datosd desde nivel de combustible, presión de neumáticos, etc. - La NY Stock Exchange captura 1 TB de información de trading durante cada sesión. - Para el 2016 se esperan tener 19900 Millones de aparatos conectados. 2.5 aparatos por persona en el planeta.
Nuevos requerimientos a las DB Transaccionales. Consistencia eventual
19
20
21
Variedad – Información en distintos formatos
- En 2011, la industria de la Salud generó +150 Exabytes (1000 Millones de Gigabytes) de documentación médica, tratamientos e historias clínicas. - 30Mil Millones de contenido compartido en Facebook por mes. - En 2014 se esperan vender 420 Millones de Health Monitors portátiles - 4Mil Millones de horas de video en YouTube vistas por mes y 400 Millones de tuits por día.
22
Veracidad – Incerteza en los datos
- múltiples fuentes que compiten por la verdad, - inconsistencia, - ambigüedad, - modelos aproximados
Cómo manejarse en un mundo de incertezas
23 Erupcción del Géiser Strokkur, by Andreas Tille
+ Optimización + Innovación
24
Qué es Data Science?
“El futuro le pertenece a las compañías y a las personas que convierten datos en productos.”
Mike Loukides, O’Reilly Radar 2010 Data science is a discipline that incorporates varying degrees of Data Engineering, Scientific Method, Math, Statistics, Advanced Computing, Visualization, Hacker mindset, and Domain Expertise. A practitioner of Data Science is called a Data Scientist. Data Scientists solve complex data analysis problems.
Wikipedia, 2014
25
“…on any given day, a team member could author a multistage processing pipeline in Python, design a hypothesis test, perform a regression analysis over data samples with R, design and implement an algorithm for some data-intensive product or service in Hadoop, or communicate the results of our analyses to other members of the organization”
Information Platforms as Dataspaces, by Jeff Hammerbacher
Data Scientist: The Sexiest Job of the 21st Century
Harvard Business Review article by Thomas H. Davenport and D.J. Patil
Data Scientist: The sexiest job of 21st century!
26
Big Data Buzz!
27
Diseño de Data-Products
El diseño de nuevos productos es en sí una aventura ya que debemos ampliar las fronteras del negocio conocido. Tomémos el caso de los logs de acceso: anteriormente descartados, archivados o relegados a una función de monitor de actividad; hoy en día son la base para realizar análisis de click-stream, mejorar la usabilidad y experiencia de usuario, inducir patrones de consumo, personalización, etc.
A R2D2 blueprint Lucasfilm Image Archives
28
Data + Monetization
29
¿Qué información derivada de nuestro
negocio puede interesarles a nuestros clientes o proveedores?
30
Los skills de LinkedIn
Un tiempo atrás LinkedIn agregó la sección de skills permit iendo definir nuestras habil idades profesionales de manera más precisa y a la vez nuestros colegas nos las validan y sugieren nuevas. ¿Qué skills tienen mis colegas que aún yo no tengo? ¿Qué otros skills pueden llegar a interesarme adquirir? o bien, visto en red ¿qué capacidades está demandando el mercado laboral en Latinoamérica? ¿Esas demandas estarán cubiertas en los próximos años?
31
Tu información puede ser valiosa para algún vecino de tu ecosistema productivo,
¿cómo podrías productizar esa información? ¿Qué datos genera tu core business a los que
aún no les has encontrado valor?
Reserva Nacional Esteros del Ibera, Argentina, por Joshua Stone
32
The Climate Corporation Monsanto
Trilla del trigo en el Antiguo Egipto, By Carlos E. Solivérez
33
NEST & Google
34
35
High dim. data
Locality sensi-ve hashing
Clustering
Dimension. reduc-on
Graph data
PageRank, SimRank
Community Detec-on
Spam Detec-on
Infinite data
Filtering data
streams
Web adver-sing
Queries on streams
Machine learning
SVM
Decision Trees
Perceptron, kNN
Apps
Recom. systems
Associa-on Rules
Duplicate document detec-on
36
1. Gestión de Riesgo, fraude, lavado de dinero, deuda-mora de cliente, vigilancia activa 2. Branding y sentiment-analysis: Social media analytics, buzz monitoring. 3. Customer life-cycle analytics. 4. Personalización & Mayor engagement 5. Análisis de logs: Detección de Intrusiones, UX, 6. Salud: Detección de epidemias, eHealh
Casos de Uso Big Data
37
Customer life-cycle analytics
- Churn analysis - Behavioral model del customer - Programa de descuentos / loyalty - Abandono de Carrito - Sistemas de recomendación - Up-Sell, Cross-Sell - Personalización & Mayor engagement
38
Google datacenter 1M servers (al 2011)
39
Memory
Disk
CPU
Machine Learning, Statistics
“Classical” Data Mining
Arquitectura single-node
40
Mem
Disk
CPU
Mem
Disk
CPU
…
Switch
Each rack contains 16-64 nodes
Mem
Disk
CPU
Mem
Disk
CPU
…
Switch
Switch 1 Gbps between any pair of nodes in a rack
2-10 Gbps backbone between racks
Arquitectura cluster
41
Large-scale computing para problemas de data mining sobre hardware commodity Desafío
– ¿Cómo distribuimos el cómputo? – ¿Cómo escribimos software fácilmente distribuible? – Machines fail!:
• Un server está vivo sin fallas ~3años (1000 días)
• Si tenés 1000 servers, la esperanza es que falle 1 server por día • Google tiene ~1M servers en 2011 (?¿?¿)
– 1000 servers fallan todos los días!!!
41
42
Idea & Solución
Transmitir datos sobre la red es costoso è Llevemos la computación cerca de los datos Las máquinas se caen è múltiples partes&copias para garantizar reliability
Infraestructura de Storage + File system Google: GFS. Hadoop: HDFS Huge files (100s of GB to TB). Rarely updated in place. Reads & appends Modelo de programación distribuida Map-Reduce
43
Google MapReduce (2004) Amazon (2006)
44
• Chunk servers – El file se parte en chunks contiguos – ~cada chunk es de 16-64MB – Cada chunk se replica ~2x ó 3x – La idea es mantener las réplicas en diferentes racks
• Master node – a.k.a. Name Node en Hadoop’s HDFS – Almacena la metadata donde se cada persiste cada file – Puede ser replicado también – En Hadoop 2 el Master Node es distribuido
• Client library for file access – Pregunta al Master la ubicación de los chunk servers – Se conecta directamente con los chunks servers para acceder a los datos
45
File system Distribuido y Confiable • Data se persiste en “chunks” distribuidos sobre el cluster de máquinas • Cada chunk se replica en diferentes máquinas • La recuperación ante caídas del server o fallas de disco es transparente
C0 C1
C2 C5
Chunk server 1
D1
C5
Chunk server 3
C1
C3 C5
Chunk server 2
… C2 D0
D0
Llevar el cómputo hacia los datos!
C0 C5
Chunk server N
C2 D0
Chunk servers son también servers de cómputo
46
Contar palabras distintas Tenemos un documento de texto muy grande (por ej. un logfile de nuestro webserver access.log) Debemos contar la cantidad de ocurrencias de cada palabra Aplicación Analizar los URLs más populares de nuestro site analizando los logs del webserver.
wordsplit(doc.txt) | sort | uniq -c
Ejemplo de programa map-reduce
47
Escencia map-reduce
Leer de manera secuencial todo el file 1. Map: Extraer algo interente y asociarle una key. Genera pares <key, value> 2. Group by key: Clasificar, sort & shuffle (no se programa) 3. Reduce: Sumarizar, filtrar, transformar, otras aggregate func., sobre todos los pares de la misma key. Escribir el resultado
48
Escencia map-reduce
49
Escencia map-reduce
50
• Ideal para procesamiento datawarehouse • Grandes logfiles, textfiles • Orientado a batch • Traducción casi inmediata a HiveQL, SQL sobre textfiles para Hadoop & HDFS
• Muy robusto. Poco performante. • No se ajusta a tareas realtime. • Las tareas O(n2) o superior, obligatoriamente son separadas del procesamiento.
Críticas a Hadoop & map-reduce
51
52
query = function (alldata)
53
54
55
56
Volveré y seré millones (de datos)