O documento apresenta uma introdução sobre Big Data, abordando o grande volume de dados criados diariamente, os conceitos-chave de Volume, Variedade e Velocidade, e o ecossistema Hadoop, incluindo ferramentas como HDFS, MapReduce, Pig e Hive.
6. “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
15. 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/
20. 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));
}
}
21. 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));
}
22.
23. 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/
24. Pig
Linguagem de alto nível
Suporte a UDFs
Operadores relacionais (Group, Join, Cross)
Modo local e interativo
25. Pig
A = 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)
26.
27. 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/
28. Hive
Traduz SQL para MapReduce
Estrutura dados como tabelas
Suporte a UDFs
Não é OLTP
29. Hive
INSERT OVERWRITE TABLE pv_gender_sum
SELECT pv_users.gender,
count (DISTINCT pv_users.userid)
FROM pv_users
GROUP BY pv_users.gender;