tópicos de big data - introducción

Post on 14-Jun-2015

828 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

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.org

TRANSCRIPT

Tópicos de Data Mining en Big Data Ernesto Mislej - @fetnelio emislej@gmail.com

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)

top related