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.
“Desde o nascimentoda 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
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/
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));
}
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 altoní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)
27.
Hive
“ O ApacheHive é 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 paraMapReduce
Estrutura dados como tabelas
Suporte a UDFs
Não é OLTP
29.
Hive
INSERT OVERWRITE TABLEpv_gender_sum
SELECT pv_users.gender,
count (DISTINCT pv_users.userid)
FROM pv_users
GROUP BY pv_users.gender;