big data - uma introdução

36
Big Data Uma introdução Thiago Rigo

Upload: thiago-rigo

Post on 16-Jul-2015

95 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Big Data - Uma Introdução

Big DataUma introdução

Thiago Rigo

Page 2: Big Data - Uma Introdução

Agenda

Big Bang dos Dados

Conceitos

Ecosistema

Casos de Uso

Demo

Page 3: Big Data - Uma Introdução

Big Bang dos Dados

Page 4: Big Data - Uma Introdução

http://www.visualnews.com/2012/06/19/how-much-data-created-every-minute/

Page 5: Big Data - Uma Introdução

http://awesome.good.is/transparency/web/1009/the-world-of-data/flat.html

Page 6: Big Data - Uma Introdução

“Desde o nascimento da civilização até 2003 criamos 5 Exabytes de informação, mas agora, essa mesma quantidade de informação é criada a cada 2 dias.”

Eric Schmidt, CEO Google, 2010

1 Exabyte = 1.000.000 TB

Page 7: Big Data - Uma Introdução

http://thehumanfaceofbigdata.com/pressroom/

Page 8: Big Data - Uma Introdução

Conceitos

Page 9: Big Data - Uma Introdução

Volume

Quantidade muito grande de dados

Bancos de dados tradicionais não atendem

Servidores high-end custam muito caro

Page 10: Big Data - Uma Introdução

Variedade

Dados de diversas fontes

Dados estruturados, semi-estruturados e não estruturados

Schemaless

Page 11: Big Data - Uma Introdução

Velocidade

Agilidade no processamento dos dados

Processamento de dados em tempo real

Rapidez na ingestão dos dados

Page 12: Big Data - Uma Introdução

Ecosistema

Page 13: Big Data - Uma Introdução
Page 14: Big Data - Uma Introdução

Hadoop - Historia

2002-04: Nutch

2004-06: GFS, MapReduce

2006-08: Yahoo!, Top-Level

Page 15: Big Data - Uma Introdução

Hadoop

“O Apache Hadoop é um framework que permite processamento distribuído de grandes volumes de dados, sendo desenhado para escalar de um servidor para milhares de máquinas…”

http://hadoop.apache.org/

Page 16: Big Data - Uma Introdução

Hadoop

Escalabilidade horizontal

Tolerancia a falha

Redundância

Paralelismo

Data locality

Page 17: Big Data - Uma Introdução

Hadoop - Arquitetura

http://www.rosebt.com/blog/hadooparchitecture-and-deployment

Page 18: Big Data - Uma Introdução

Hadoop - HDFS

https://developer.yahoo.com/hadoop/tutorial/module2.html

Page 19: Big Data - Uma Introdução

Hadoop - MapReduce

http://www.alex-hanna.com/tworkshops/lesson-5-hadoop-and-mapreduce/

Page 20: Big Data - Uma Introdução

Hadoop - MapReduce

public  void  map(LongWritable  key,  Text  value,  Context  context)          throws  IOException,  InterruptedException  {  

       String[]  words  =  value.toString().split("  ");  

       for  (String  word  :  words)  {              context.write(new  Text(word),  new  IntWritable(1));          }  }

Page 21: Big Data - Uma Introdução

Hadoop - MapReduce

public  void  reduce(Text  key,  Iterable<IntWritable>  values,  Context  context)          throws  IOException,  InterruptedException  {  

       int  sum  =  0;  

       for  (IntWritable  value  :  values)  {                  sum  +=  value.get();          }  

       context.write(key,  new  IntWritable(sum));  }  

Page 22: Big Data - Uma Introdução
Page 23: Big Data - Uma Introdução

Pig

“Apache Pig é uma plataforma para analisar grandes data sets que é composta por uma linguagem de alto nível para expressar programas de análise de dados e infraestrutura para executar esses programas.”

http://pig.apache.org/

Page 24: Big Data - Uma Introdução

Pig

Linguagem de alto nível

Suporte a UDFs

Operadores relacionais (Group, Join, Cross)

Modo local e interativo

Page 25: Big Data - Uma Introdução

PigA = LOAD ‘logs/2014/12‘ AS (f1:int,f2:int,f3:int);

DUMP A; (1,2,3) (4,2,1) (4,3,3)

B = GROUP A BY f1;

DUMP B; (1,{(1,2,3)}) (4,{(4,2,1),(4,3,3)})

X = FOREACH B GENERATE COUNT(A);

DUMP X; (1L) (2L)

Page 26: Big Data - Uma Introdução
Page 27: Big Data - Uma Introdução

Hive

“ O Apache Hive é um software de data warehouse que facilita realizar consultas e gerenciar grandes data sets que são armazenados de forma distribuída, provendo um mecanismo para estruturar e consultar esses dados usando uma linguagem parecida com SQL, chamada HiveQL.”

http://hive.apache.org/

Page 28: Big Data - Uma Introdução

Hive

Traduz SQL para MapReduce

Estrutura dados como tabelas

Suporte a UDFs

Não é OLTP

Page 29: Big Data - Uma Introdução

Hive

INSERT OVERWRITE TABLE pv_gender_sum SELECT pv_users.gender, count (DISTINCT pv_users.userid) FROM pv_users GROUP BY pv_users.gender;

Page 30: Big Data - Uma Introdução

Ecosistema

https://www.codecentric.de/schulungen-und-workshops/hadoop-essentials/

Page 31: Big Data - Uma Introdução

E muito mais!

https://amplab.cs.berkeley.edu/benchmark/

Page 32: Big Data - Uma Introdução

Casos de Uso

Page 33: Big Data - Uma Introdução

Casos de Uso

Análise de logs

Engines de recomendação

Processos ETL

Eleições presidenciais

Previsão de horário de pouso

Page 34: Big Data - Uma Introdução

Demo

Page 35: Big Data - Uma Introdução

Demo

Contar palavras no Hadoop

Page 36: Big Data - Uma Introdução

Dúvidas?