SlideShare une entreprise Scribd logo
1  sur  50
Télécharger pour lire hors ligne
1Tel : +55.11.34.68.01.03
www.octo.com
2
Hora do Brinde!
Em apenas 60 segundos...
Quanto a Amazon vende?
Quantos downloads de apps
por aparelhos apple?
Quantos compartilhamentos de
conteúdo no Facebook ?
Homens e mulheres no Tinder
movem seus dedos para a
esquerda e direita nas telas de
seus dispositivos?
?
?
?
?
3
Thiago Santiago
Arquiteto de software, formado em
engenharia de software pela USP.
Trabalha atualmente na OCTO Technology
liderando projetos em web performance e
Big Data.
Apresentação:
thiagosantiago25
4
Agenda
Introdução
Histórico
Arquitetura da plataforma HDP 2.0
SandBox
Stinger
Scripts Hive/Pig
Ferramentas de visualização de dados
5
6
No atual mundo captalista, M Bison, dono do maior e-
commerce mundial chamado Shadaloo, decide analisar o perfil
de todos os seus clientes; não apenas mostrando os dados
comuns do BI, mas analisar também:
- Dados de TODOS os sistemas Legados
- Dados de Navegação
- SAC e Midias Sociais.
Dessa forma ele poderia:
• Criar mecanismo de ofertas personalizadas
• Retenção de clientes que realizam reclamações no SAC
• Identificar relação de entre reclamações no SAC e
mídias sociais.
• Analisar fluxo de navegação e proporcionar navegação
personalizada por tipo de clientes
7
Pode deixar
chefe!
Ryu, Você será o
escolhido para
essa tarefa!
8
… então depois de muito apanhar tentando achar uma
solução ao problema, decidiu pedir ajuda ao Mestre
Dhalsin.
Mestre, como posso
processar esse
volume gigante de
dados em pouco
tempo?
Dá Hadoop
Ryu!!!
?
9
Não será tão
fácil assim, meu
jovem...
10
O que é Apache Hadoop?
O Hadoop é um framework open source desenvolvido em Java, para rodar
aplicações, que manipulem uma grande quantidade de dados, em ambientes
“clusterizados”.
Inspirado originalmente pelo GFS e MapReduce da Google
E assim começou a batalha de Ryu… sabendo da força que o hadoop tem, ele
decidiu estudar a fundo essa nova técnica…
…E descobriu que:
11
Histórico
Dez/02 – Primeira biblioteca Map/Reduce na Google
Out/03 – Artigo sobre GFS
Dez/04 – Artigo sobre Map Reduce
Dez/05 – Doug Cutting cria o Projeto Nutch (MR e DFS)
Fev/06 – Hadoop se torna um projeto oficial da Apache
Abr/07 – Yahoo! roda Hadoop em um cluster de 1000 nós
Jan/08 – Hadoop se transforma no projeto principal da Apache
Dez/11 – Apache disponibiliza versão Hadoop 1.0.0
12
Principais Características do Hadoop
Escalável: ele pode
armazenar e processar
petabytes sem problemas;
Econômico: o Hadoop
distribui os dados e o
processamento através dos
clusters. Estes clusters
podem ter milhares de nós
(máquinas);
Eficiente: Por distribuir os
dados, o Hadoop pode
processar eles em paralelo por
meio dos nós, onde os dados
estão alocados.
Confiável: ele
automaticamente mantém
múltiplas copias dos dados
e remaneja as tarefas em
caso de falhas.
13
Atualmente, Hortonworks, Cloudera e
MapR são os principais distribuidores
Hadoop (MapReduce, Hive, Sqoop, pig,
etc) de forma mais integrada de acordo
com a arquitetura de cada distribuição.
A amazon possui sua própria
implementação Hadoop Chamada
Elastic MapReduce (EMR)
Distribuições Hadoop
14
Quadrante de Players Hadoop
15
Composição do Apache Hadoop
Núcleo Hadoop:
• Hadoop Common
• HDFS
• MapReduce
16
Composição do Apache Hadoop
1) Hadoop Common
Hadoop Common oculta o que os usuários comuns não precisam saber!
Paralelização automática
Balanceamento de carga
Otimização nas transferências de disco e rede
Tratamento de falhas
Robustez
Escalabilidade
17
2) HDFS: Hadoop Distributed File System
Sistema de arquivos distribuído
Grande ordem de 10k nós
Milhões de arquivos
Projetado para hardware de baixo custo
Redundância por replicação
Tolerância a falhas e recuperação
Otimizado para processamento em lote
Localização dos dados exposta
Grande largura de banda associada
Coerência dos dados
Modelo “write-once-ready-many”
Arquivos existentes sofrem apenas operações de “append”
Arquivos quebrados em pedaços (blocos)
Variam de 64mb (padrão) a 256mb
Blocos distribuídos pelos nós (um arquivo é dividido em N blocos e armazenado em M nós)
Blocos são replicados e as replicações distribuídas
18
3) MapReduce
O modelo inicial proposto pelo Google apresentou alguns conceitos para
facilitar alguns problemas
Paralelização da computação em um aglomerado de máquinas comuns
Centenas/Milhares de CPUs
Paralelização e distribuição automática da computação deveria ser o mais
simples possível
O sistema de execução se encarrega de:
Particionar e distribuir os dados de entrada
Escalonar as execuções em um conjunto de máquinas
Tratar as falhas
Comunicação entre as máquinas
19
MapReduce - Arquitetura
Name Node
• Data Location
2
1
Client
MapReduce
Resource
Manager
Application
Manager
Data node
3
4
5
Data node
Data node
Reduce
Output
Reduce Reduce
Map MapMap
Shuffle & sort
Application
Master
Task TaskTask
6
20
Hadoop 2.0
21
Storage API
Distributed FS
GlusterFS
HDFS
S3
Isilon
MapRFS
Local FS
NoSQL based
Cassandra
DynamoDB
Ceph
Ring
Openstack Swift
MapReduce/Tez
YARN
Spark Streaming
Transacional
Consultas Analíticas
ETL
Computação Científica Indexação
Interativo Batch
HBase Cassandra
Shark Impala Presto Hawg Drill
Cascading Pig Hive Talend Solr
Giraph HAMA Mahout Python R
sklearn nltk panda RHadoop
SAS
UsosFerramentasComum
Sistemasde
Armazenamento
Import/export
CLI
Sqoop
Flume
Storm
ETL (Talend,
Pentaho)
Oozie
Elastic
Search
Ecossistema Hadoop
API MR Java
Upload
HCatalog
Distribuição
22
Hadoop na nuvem
23
Sandbox é um projeto Hortonworks, que torna o
Hadoop portátil, permitindo rodar o hadoop em seu
computador pessoal de forma simples e ágil.
Sandbox possui fins educacionais, facilitando a curva de
aprendizagem no Hortonworks Hadoop.
Pré-requisitos: Ambiente de virtualização
(Preferencialmente VirtualBox)
Hortonworks Sandbox
24
HDP 2.0
Hortonworks Data Platform 2.0 leva Hadoop de uma plataforma de dados de
processamento em lote, para uma plataforma multi-uso que permite
processamentos em lote, interativo, online e por fluxo.
25
Passo 1 : baixar Sandbox for VirtualBox
http://hortonworks.com/products/hortonworks-sandbox/#install
Sandbox: Instalação
26
Passo 2 : Iniciar imagem hadoop
Sandbox: Configuração
1
2
3
27
Passo 3 :
Acessar Sanbox Hue
Sandbox: Configuração
Hands on
28
Hortonworks Hue
HCatalog
HDFS
MapReduce
29
Ferramentas no Hue
1234
30
Upload dos dados
https://s3.amazonaws.com/hw-sandbox/tutorial1/NYSE-2000-2001.tsv.gz
A interface do File Browser é semelhante a um
gerenciador de arquivos comum com padrão
de diretórios.
Arquivo de exemplo:
Selecione o botão ‘Upload'
Selecione 'Arquivos' e uma janela pop-up irá aparecer.
Clique no botão: "Enviar um arquivo".
Localize o arquivo de dados de exemplo que você baixou e selecione-o.
A barra de progresso irá aparecer. O carregamento pode levar alguns momentos.
31
Upload dos dados
Dados enviados:
Você pode usar o navegador de arquivos como
gerenciador de arquivos do seu próprio
computador. Em seguida registrar o conjunto de
dados com HCatalog.
32
Upload dos dados
Preencha o campo Nome da tabela com
"nyse_stocks".
Em seguida, clique no botão Escolher arquivo.
Selecione o arquivo que acabou de carregar 'NYSE-
2000-2001.tsv.gz.
33
Upload dos dados
Na visualização da tabela
você pode definir todos os
campos e tipos de dados
para a tabela.
Quando tudo estiver
concluído, clique no botão
"Create Table" na parte
inferior.
Hands on
34
O Hive e o PIG oferecem linguagens de processamento de dados de alto nível com suporte
para tipos de dados complexos para a operação em conjuntos de dados grandes.
A linguagem do Hive é uma variante do SQL e, portanto, é mais acessível para pessoas já
familiarizadas com SQL e bancos de dados relacionais.
O Hive tem suporte para tabelas particionadas que permitem que os fluxos de trabalho
extraiam somente a partição da tabela relevante para a consulta sendo executada, em vez
de realizar uma digitalização completa da tabela.
Hive X Pig
Em uma análise, a escolha pelo uso do Hive ou
PIG dependerá dos requisitos exatos do domínio
do aplicativo e das preferências dos
implementadores e daqueles que gravam
consultas.
35
Scripts Hive X Pig
SELECT * FROM
tb_fifa_best_players
WHERE nacionalidade =
'Alemanha';
SELECT a.* FROM a
JOIN b
ON (a.id = b.id)
SELECT MARCA, sum(vl_pedido)
Valor_Pedidos
FROM `default.tb_orders`
Group by MARCA
ORDER by Valor_Pedidos DESC
A = LOAD 'tb_fifa_best_players'
USING org.apache.hcatalog.pig.HCatLoader();
B = FILTER A BY jogador == 'Lionel
Messi';
C = ORDER B BY (colocacao);
DUMP C;
A = LOAD tb_fifa_best_players USING
org.apache.hcatalog.pig.HCatLoader();
B = LIMIT A 100;
C = FILTER B BY campo1 == 'Teste';
D = FOREACH C GENERATE symbol, date, close;
E = DISTINCT D;
F = GROUP E BY (campo1, campo2);
G = ORDER F BY (campo1, campo2);
H = JOIN G BY campo1, F BY campo1;
DUMP C;
36
Hands on
Hands on
37
O que o Stinger?
http://hortonworks.com/labs/stinger/
A Iniciativa Stinger é um projeto opensource para conduzir o futuro do
Apache Hive, entregando 100x mais desempenho em escala, com execução
Hive sobre o Apache Tez e semântica de SQL like.
38
Tabelas no Hive
As consultas Hive não pode ser realizadas diretamente
nos arquivos enviados, é necessária uma estrutura
que “identifique” os campos do arquivo, ou seja, que
mapeie e crie um padrão aos dados enviados, essa
estrutura é chamada de Tabela.
Existem basicamente dois tipos de tabelas:
Tabelas externas (External Tables) e Tabelas gerenciadas (Managed Tables).
Tabela GerenciadaTabela Externa
As tabelas externas apenas mapeiam os dados no
arquivo original, mas não realizam qualquer tipo
de controle sobre o arquivo.
As tabelas gerenciadas, realizam uma cópia dos
dados isolando as informações, para que apenas
a própria tabela possa acessar os dados.
39
Tabelas no Hive
Tabela GerenciadaTabela Externa
40
Tabelas externas
CREATE EXTERNAL TABLE IF NOT EXISTS default.TBE_VENDAS
(
DESC_MARCA STRING,
COD_PEDIDO_SITE STRING,
DT_PEDIDO TIMESTAMP,
VL_PEDIDO DECIMAL,
COD_ITEM INT,
COD_DEPT INT,
DESC_DEPT STRING,
DESC_UNI_NEGOCIO STRING,
COD_MARCA INT,
DESC_MARCA STRING,
MARCA STRING
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '|'
LOCATION '/user/b2w/vendas';
Tendo um arquivo com as vendas no diretório
”/user/b2w/vendas”, imagine que será
necessária uma consulta nesse arquivo, nesse caso
será necessária a criação de uma tabela externa para
mapear e acessar essas informações.
Definição de Tabela externa
Diretório do arquivo
Caractere delimitador de
campos
41
Tabelas Gerenciadas
CREATE TABLE IF NOT EXISTS default.TBI_VENDAS
LIKE default.TB_VENDAS;
INSERT OVERWRITE TABLE default.TBI_VENDAS
SELECT * FROM default.TBE_VENDAS
WHERE COD_ITEM IS NOT NULL;
DESCRIBE FORMATTED default.TBI_VENDAS;
Continuando com exemplo anterior do arquivo com as vendas no diretório
”/user/b2w/vendas”.
imagine que desejamos utilizar e transformar (ETL) as informações do arquivo e copiá-
las para um “black box” onde garantimos a integridade dos dados, nesse caso será
necessária uma tabela gerenciada.
Definição de Tabela com a
mesma estrutura da tabela
relacionada.
Descreve a esrutura da tabela
42
Visualização de dados
A visualização de dados de forma gráfica, relatórios e dashboards são
feitos por ferramentas externas que se conectam ao ambiente hadoop,
e extraem as informações necessárias. Utilizaremos duas ferramentas
como exemplo: Excel e Tableau.
Toda a comunicação (extração de dados) entre os ambientes é feita via
Hortonworks ODBC driver (64-bit).
43
Edge Node
Mapa - Fluxo de dados
SFTP
Remoção de cabeçalho
Compactação de dados
-Orc/SeqFile
-Gzip/Snappy
Partitions
Buckets/Sampling
script
External Table
HDFS
Managed Table
Data
44
Hortonworks Hive ODBC Driver
http://hortonworks.com/products/hdp-2/?b=3#add_ons
O Hortonworks
ODBC driver
permite realizar a
conexão de
ferramentas
externas de
Business
Intelligence,
consultas, análise
e visualização de
dados a Plataforma
Hortonworks.
Link para download
45
Hortonworks Hive ODBC Driver
Guia em PDF com a instalação e configuração do driver ODBC
http://hortonworks.com/wp-content/uploads/2013/04/Hortonworks-Hive-ODBC-Driver-User-Guide.pdf
46
Visualização de dados Excel
Uma vez que o Seu driver ODBC esteja configurado, Pode-se utilizar o Excel para acessar
dados no Hive:
http://hortonworks.com/hadoop-tutorial/how-to-use-excel-2013-to-access-hadoop-data/
http://hortonworks.com/hadoop-tutorial/how-use-excel-2013-to-analyze-hadoop-data/
1
2
3
4
47
Visualização de dados Tableau
Uma vez que o Seu driver ODBC esteja configurado, Pode-se utilizar o Excel para acessar
dados no Hive:
http://hortonworks.com/kb/how-to-connect-tableau-to-hortonworks-sandbox/
1
2
3
4
5
Host: localhost
Port: 10000
Type: Hive Server 2
User: hive
48
Ferramentas de visualização
49
You Win... Perfect!
Chefe, estamos
prontos para iniciar
nossas análises
usando Hadoop 2.0
Parabéns Ryu,
You Win!
50
There is a way…

Contenu connexe

Tendances

BIGDATA: Da teoria à Pratica
BIGDATA: Da teoria à PraticaBIGDATA: Da teoria à Pratica
BIGDATA: Da teoria à PraticaDaniel Checchia
 
XXXI JAI - Apache Hadoop: conceitos teóricos e práticos, evolução e novas pos...
XXXI JAI - Apache Hadoop: conceitos teóricos e práticos, evolução e novas pos...XXXI JAI - Apache Hadoop: conceitos teóricos e práticos, evolução e novas pos...
XXXI JAI - Apache Hadoop: conceitos teóricos e práticos, evolução e novas pos...Ivanilton Polato
 
Arquiteturas, Tecnologias e Desafios para Análise de BigData
Arquiteturas, Tecnologias e Desafios para Análise de BigDataArquiteturas, Tecnologias e Desafios para Análise de BigData
Arquiteturas, Tecnologias e Desafios para Análise de BigDataSandro Andrade
 
Arquitetura para solução Big Data – open source
Arquitetura para solução Big Data – open sourceArquitetura para solução Big Data – open source
Arquitetura para solução Big Data – open sourceFelipe RENZ - MBA TI / Big
 
Arquitetura do Framework Apache Hadoop 2.6
Arquitetura do Framework Apache Hadoop 2.6Arquitetura do Framework Apache Hadoop 2.6
Arquitetura do Framework Apache Hadoop 2.6Felipe Schimith Batista
 
Pentaho com Hadoop – O Canivete Suíço do Cientistas de Dados para Big Data An...
Pentaho com Hadoop – O Canivete Suíço do Cientistas de Dados para Big Data An...Pentaho com Hadoop – O Canivete Suíço do Cientistas de Dados para Big Data An...
Pentaho com Hadoop – O Canivete Suíço do Cientistas de Dados para Big Data An...Ambiente Livre
 
Machine learning com Apache Spark
Machine learning com Apache SparkMachine learning com Apache Spark
Machine learning com Apache SparkSandys Nunes
 
Big Data – HBase, integrando hadoop, bi e dw; Montando o seu big data Cloude...
Big Data – HBase, integrando hadoop, bi e dw; Montando o seu big data  Cloude...Big Data – HBase, integrando hadoop, bi e dw; Montando o seu big data  Cloude...
Big Data – HBase, integrando hadoop, bi e dw; Montando o seu big data Cloude...Flavio Fonte, PMP, ITIL
 
Rodando um Recomendador no Hadoop usando Mahout
Rodando um Recomendador no Hadoop usando MahoutRodando um Recomendador no Hadoop usando Mahout
Rodando um Recomendador no Hadoop usando MahoutIvanilton Polato
 
Big Data Open Source com Hadoop
Big Data Open Source com HadoopBig Data Open Source com Hadoop
Big Data Open Source com HadoopAmbiente Livre
 
Interoperabilidade com BigData Hadoop para Windows Azure
Interoperabilidade com BigData Hadoop  para Windows AzureInteroperabilidade com BigData Hadoop  para Windows Azure
Interoperabilidade com BigData Hadoop para Windows AzureAlessandro Binhara
 
Mapreduce - Conceitos e Aplicações
Mapreduce - Conceitos e AplicaçõesMapreduce - Conceitos e Aplicações
Mapreduce - Conceitos e AplicaçõesGuilherme Araújo
 
Filesystem distribuído com hadoop!!!
Filesystem distribuído com hadoop!!! Filesystem distribuído com hadoop!!!
Filesystem distribuído com hadoop!!! Alessandro Binhara
 

Tendances (20)

Treinamento hadoop - dia1
Treinamento hadoop - dia1Treinamento hadoop - dia1
Treinamento hadoop - dia1
 
Treinamento hadoop - dia4
Treinamento hadoop - dia4Treinamento hadoop - dia4
Treinamento hadoop - dia4
 
BIGDATA: Da teoria à Pratica
BIGDATA: Da teoria à PraticaBIGDATA: Da teoria à Pratica
BIGDATA: Da teoria à Pratica
 
XXXI JAI - Apache Hadoop: conceitos teóricos e práticos, evolução e novas pos...
XXXI JAI - Apache Hadoop: conceitos teóricos e práticos, evolução e novas pos...XXXI JAI - Apache Hadoop: conceitos teóricos e práticos, evolução e novas pos...
XXXI JAI - Apache Hadoop: conceitos teóricos e práticos, evolução e novas pos...
 
Arquiteturas, Tecnologias e Desafios para Análise de BigData
Arquiteturas, Tecnologias e Desafios para Análise de BigDataArquiteturas, Tecnologias e Desafios para Análise de BigData
Arquiteturas, Tecnologias e Desafios para Análise de BigData
 
Hadoop
HadoopHadoop
Hadoop
 
Data Lakes com Hadoop e Spark: Agile Analytics na prática
Data Lakes com Hadoop e Spark: Agile Analytics na práticaData Lakes com Hadoop e Spark: Agile Analytics na prática
Data Lakes com Hadoop e Spark: Agile Analytics na prática
 
Arquitetura para solução Big Data – open source
Arquitetura para solução Big Data – open sourceArquitetura para solução Big Data – open source
Arquitetura para solução Big Data – open source
 
Arquitetura do Framework Apache Hadoop 2.6
Arquitetura do Framework Apache Hadoop 2.6Arquitetura do Framework Apache Hadoop 2.6
Arquitetura do Framework Apache Hadoop 2.6
 
Pentaho com Hadoop – O Canivete Suíço do Cientistas de Dados para Big Data An...
Pentaho com Hadoop – O Canivete Suíço do Cientistas de Dados para Big Data An...Pentaho com Hadoop – O Canivete Suíço do Cientistas de Dados para Big Data An...
Pentaho com Hadoop – O Canivete Suíço do Cientistas de Dados para Big Data An...
 
Hadoop, Big Data e Cloud Computing
Hadoop, Big Data e Cloud ComputingHadoop, Big Data e Cloud Computing
Hadoop, Big Data e Cloud Computing
 
Machine learning com Apache Spark
Machine learning com Apache SparkMachine learning com Apache Spark
Machine learning com Apache Spark
 
Big Data – HBase, integrando hadoop, bi e dw; Montando o seu big data Cloude...
Big Data – HBase, integrando hadoop, bi e dw; Montando o seu big data  Cloude...Big Data – HBase, integrando hadoop, bi e dw; Montando o seu big data  Cloude...
Big Data – HBase, integrando hadoop, bi e dw; Montando o seu big data Cloude...
 
Rodando um Recomendador no Hadoop usando Mahout
Rodando um Recomendador no Hadoop usando MahoutRodando um Recomendador no Hadoop usando Mahout
Rodando um Recomendador no Hadoop usando Mahout
 
Hadoop
HadoopHadoop
Hadoop
 
Big Data Open Source com Hadoop
Big Data Open Source com HadoopBig Data Open Source com Hadoop
Big Data Open Source com Hadoop
 
Hadoop
HadoopHadoop
Hadoop
 
Interoperabilidade com BigData Hadoop para Windows Azure
Interoperabilidade com BigData Hadoop  para Windows AzureInteroperabilidade com BigData Hadoop  para Windows Azure
Interoperabilidade com BigData Hadoop para Windows Azure
 
Mapreduce - Conceitos e Aplicações
Mapreduce - Conceitos e AplicaçõesMapreduce - Conceitos e Aplicações
Mapreduce - Conceitos e Aplicações
 
Filesystem distribuído com hadoop!!!
Filesystem distribuído com hadoop!!! Filesystem distribuído com hadoop!!!
Filesystem distribuído com hadoop!!!
 

Similaire à TDC 2014 - Hadoop Hands ON

TDC 2017 - Borg até o Prometheus: Site Reliability Engineering
TDC 2017 - Borg até o Prometheus: Site Reliability EngineeringTDC 2017 - Borg até o Prometheus: Site Reliability Engineering
TDC 2017 - Borg até o Prometheus: Site Reliability EngineeringFelipe Klerk Signorini
 
Big data para programadores convencionais
Big data para programadores convencionaisBig data para programadores convencionais
Big data para programadores convencionaisRoberto Oliveira
 
Computação paralela 2 cluster e grid
Computação paralela 2 cluster e grid Computação paralela 2 cluster e grid
Computação paralela 2 cluster e grid Fernando Gomes Chaves
 
Big Data com MATLAB (Tiago Monteiro), Webinar ao vivo
Big Data com MATLAB (Tiago Monteiro), Webinar ao vivoBig Data com MATLAB (Tiago Monteiro), Webinar ao vivo
Big Data com MATLAB (Tiago Monteiro), Webinar ao vivoOpencadd Advanced Technology
 
Webinar: Monitorando sensores IoT: Do ESP32 ao Grafana
Webinar: Monitorando sensores IoT: Do ESP32 ao GrafanaWebinar: Monitorando sensores IoT: Do ESP32 ao Grafana
Webinar: Monitorando sensores IoT: Do ESP32 ao GrafanaEmbarcados
 
Primeiros passos com o Cassandra
 Primeiros passos com o Cassandra  Primeiros passos com o Cassandra
Primeiros passos com o Cassandra Otávio Santana
 
Big data - Uma visão geral da coisa...
Big data - Uma visão geral da coisa...Big data - Uma visão geral da coisa...
Big data - Uma visão geral da coisa...Arthur Souza
 
Indústria 4.0: como a IoT e Big Data mudarão a forma como lidamos com a tecno...
Indústria 4.0: como a IoT e Big Data mudarão a forma como lidamos com a tecno...Indústria 4.0: como a IoT e Big Data mudarão a forma como lidamos com a tecno...
Indústria 4.0: como a IoT e Big Data mudarão a forma como lidamos com a tecno...Vinícius Barros
 
Modelos de computação distribuída no Hadoop
Modelos de computação distribuída no HadoopModelos de computação distribuída no Hadoop
Modelos de computação distribuída no HadoopBig Data Week São Paulo
 
Tecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvensTecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvensAlessandro Binhara
 
Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014Getup Cloud
 
Big data e mineração de dados
Big data e mineração de dadosBig data e mineração de dados
Big data e mineração de dadosElton Meira
 

Similaire à TDC 2014 - Hadoop Hands ON (20)

TDC 2017 - Borg até o Prometheus: Site Reliability Engineering
TDC 2017 - Borg até o Prometheus: Site Reliability EngineeringTDC 2017 - Borg até o Prometheus: Site Reliability Engineering
TDC 2017 - Borg até o Prometheus: Site Reliability Engineering
 
Bigadata casese opotunidades
Bigadata casese opotunidadesBigadata casese opotunidades
Bigadata casese opotunidades
 
Big data para programadores convencionais
Big data para programadores convencionaisBig data para programadores convencionais
Big data para programadores convencionais
 
Computação paralela 2 cluster e grid
Computação paralela 2 cluster e grid Computação paralela 2 cluster e grid
Computação paralela 2 cluster e grid
 
Big Data
Big DataBig Data
Big Data
 
BIG DATA
BIG DATABIG DATA
BIG DATA
 
BigData MapReduce
BigData MapReduceBigData MapReduce
BigData MapReduce
 
Big Data com MATLAB (Tiago Monteiro), Webinar ao vivo
Big Data com MATLAB (Tiago Monteiro), Webinar ao vivoBig Data com MATLAB (Tiago Monteiro), Webinar ao vivo
Big Data com MATLAB (Tiago Monteiro), Webinar ao vivo
 
Webinar: Monitorando sensores IoT: Do ESP32 ao Grafana
Webinar: Monitorando sensores IoT: Do ESP32 ao GrafanaWebinar: Monitorando sensores IoT: Do ESP32 ao Grafana
Webinar: Monitorando sensores IoT: Do ESP32 ao Grafana
 
Primeiros passos com o Cassandra
 Primeiros passos com o Cassandra  Primeiros passos com o Cassandra
Primeiros passos com o Cassandra
 
Meetup Arquitetura Big Data
Meetup Arquitetura Big DataMeetup Arquitetura Big Data
Meetup Arquitetura Big Data
 
Big data - Uma visão geral da coisa...
Big data - Uma visão geral da coisa...Big data - Uma visão geral da coisa...
Big data - Uma visão geral da coisa...
 
Indústria 4.0: como a IoT e Big Data mudarão a forma como lidamos com a tecno...
Indústria 4.0: como a IoT e Big Data mudarão a forma como lidamos com a tecno...Indústria 4.0: como a IoT e Big Data mudarão a forma como lidamos com a tecno...
Indústria 4.0: como a IoT e Big Data mudarão a forma como lidamos com a tecno...
 
Modelos de computação distribuída no Hadoop
Modelos de computação distribuída no HadoopModelos de computação distribuída no Hadoop
Modelos de computação distribuída no Hadoop
 
Tecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvensTecnologias para mineração de dados nas nuvens
Tecnologias para mineração de dados nas nuvens
 
Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014
 
Cassandra Trip Brasil
Cassandra Trip BrasilCassandra Trip Brasil
Cassandra Trip Brasil
 
Analise Bay Area Bike Sharing
Analise Bay Area Bike SharingAnalise Bay Area Bike Sharing
Analise Bay Area Bike Sharing
 
Big data e mineração de dados
Big data e mineração de dadosBig data e mineração de dados
Big data e mineração de dados
 
Dawarehouse e OLAP
Dawarehouse e OLAPDawarehouse e OLAP
Dawarehouse e OLAP
 

Plus de Thiago Santiago

LGPD - Webinar Cloudera e FIAP
LGPD - Webinar Cloudera e FIAPLGPD - Webinar Cloudera e FIAP
LGPD - Webinar Cloudera e FIAPThiago Santiago
 
Harvard Business Review - LGPD
Harvard Business Review - LGPDHarvard Business Review - LGPD
Harvard Business Review - LGPDThiago Santiago
 
Meet up roadmap cloudera 2020 - janeiro
Meet up   roadmap cloudera 2020 - janeiroMeet up   roadmap cloudera 2020 - janeiro
Meet up roadmap cloudera 2020 - janeiroThiago Santiago
 
Hortonworks - IBM - Cloud Event
Hortonworks - IBM - Cloud EventHortonworks - IBM - Cloud Event
Hortonworks - IBM - Cloud EventThiago Santiago
 
Hortonworks - IBM Cognitive - The Future of Data Science
Hortonworks - IBM Cognitive - The Future of Data ScienceHortonworks - IBM Cognitive - The Future of Data Science
Hortonworks - IBM Cognitive - The Future of Data ScienceThiago Santiago
 
Social Media Monitoring with NiFi, Druid and Superset
Social Media Monitoring with NiFi, Druid and SupersetSocial Media Monitoring with NiFi, Druid and Superset
Social Media Monitoring with NiFi, Druid and SupersetThiago Santiago
 
Big Data Week São Paulo 2017
Big Data Week São Paulo 2017 Big Data Week São Paulo 2017
Big Data Week São Paulo 2017 Thiago Santiago
 
Hortonworks & IBM solutions
Hortonworks & IBM solutionsHortonworks & IBM solutions
Hortonworks & IBM solutionsThiago Santiago
 
Instituto Infnet - BigData e Hadoop
Instituto Infnet  - BigData e HadoopInstituto Infnet  - BigData e Hadoop
Instituto Infnet - BigData e HadoopThiago Santiago
 
Hadoop Day - MeetUp - O poder da Informação
Hadoop Day - MeetUp - O poder da InformaçãoHadoop Day - MeetUp - O poder da Informação
Hadoop Day - MeetUp - O poder da InformaçãoThiago Santiago
 
BigData & Hadoop - Technology Latinoware 2016
BigData & Hadoop - Technology Latinoware 2016BigData & Hadoop - Technology Latinoware 2016
BigData & Hadoop - Technology Latinoware 2016Thiago Santiago
 

Plus de Thiago Santiago (12)

LGPD - Webinar Cloudera e FIAP
LGPD - Webinar Cloudera e FIAPLGPD - Webinar Cloudera e FIAP
LGPD - Webinar Cloudera e FIAP
 
Harvard Business Review - LGPD
Harvard Business Review - LGPDHarvard Business Review - LGPD
Harvard Business Review - LGPD
 
Meet up roadmap cloudera 2020 - janeiro
Meet up   roadmap cloudera 2020 - janeiroMeet up   roadmap cloudera 2020 - janeiro
Meet up roadmap cloudera 2020 - janeiro
 
Hortonworks - IBM - Cloud Event
Hortonworks - IBM - Cloud EventHortonworks - IBM - Cloud Event
Hortonworks - IBM - Cloud Event
 
Hortonworks - IBM Cognitive - The Future of Data Science
Hortonworks - IBM Cognitive - The Future of Data ScienceHortonworks - IBM Cognitive - The Future of Data Science
Hortonworks - IBM Cognitive - The Future of Data Science
 
Social Media Monitoring with NiFi, Druid and Superset
Social Media Monitoring with NiFi, Druid and SupersetSocial Media Monitoring with NiFi, Druid and Superset
Social Media Monitoring with NiFi, Druid and Superset
 
PGDay Brasilia 2017
PGDay Brasilia 2017PGDay Brasilia 2017
PGDay Brasilia 2017
 
Big Data Week São Paulo 2017
Big Data Week São Paulo 2017 Big Data Week São Paulo 2017
Big Data Week São Paulo 2017
 
Hortonworks & IBM solutions
Hortonworks & IBM solutionsHortonworks & IBM solutions
Hortonworks & IBM solutions
 
Instituto Infnet - BigData e Hadoop
Instituto Infnet  - BigData e HadoopInstituto Infnet  - BigData e Hadoop
Instituto Infnet - BigData e Hadoop
 
Hadoop Day - MeetUp - O poder da Informação
Hadoop Day - MeetUp - O poder da InformaçãoHadoop Day - MeetUp - O poder da Informação
Hadoop Day - MeetUp - O poder da Informação
 
BigData & Hadoop - Technology Latinoware 2016
BigData & Hadoop - Technology Latinoware 2016BigData & Hadoop - Technology Latinoware 2016
BigData & Hadoop - Technology Latinoware 2016
 

TDC 2014 - Hadoop Hands ON

  • 2. 2 Hora do Brinde! Em apenas 60 segundos... Quanto a Amazon vende? Quantos downloads de apps por aparelhos apple? Quantos compartilhamentos de conteúdo no Facebook ? Homens e mulheres no Tinder movem seus dedos para a esquerda e direita nas telas de seus dispositivos? ? ? ? ?
  • 3. 3 Thiago Santiago Arquiteto de software, formado em engenharia de software pela USP. Trabalha atualmente na OCTO Technology liderando projetos em web performance e Big Data. Apresentação: thiagosantiago25
  • 4. 4 Agenda Introdução Histórico Arquitetura da plataforma HDP 2.0 SandBox Stinger Scripts Hive/Pig Ferramentas de visualização de dados
  • 5. 5
  • 6. 6 No atual mundo captalista, M Bison, dono do maior e- commerce mundial chamado Shadaloo, decide analisar o perfil de todos os seus clientes; não apenas mostrando os dados comuns do BI, mas analisar também: - Dados de TODOS os sistemas Legados - Dados de Navegação - SAC e Midias Sociais. Dessa forma ele poderia: • Criar mecanismo de ofertas personalizadas • Retenção de clientes que realizam reclamações no SAC • Identificar relação de entre reclamações no SAC e mídias sociais. • Analisar fluxo de navegação e proporcionar navegação personalizada por tipo de clientes
  • 7. 7 Pode deixar chefe! Ryu, Você será o escolhido para essa tarefa!
  • 8. 8 … então depois de muito apanhar tentando achar uma solução ao problema, decidiu pedir ajuda ao Mestre Dhalsin. Mestre, como posso processar esse volume gigante de dados em pouco tempo? Dá Hadoop Ryu!!! ?
  • 9. 9 Não será tão fácil assim, meu jovem...
  • 10. 10 O que é Apache Hadoop? O Hadoop é um framework open source desenvolvido em Java, para rodar aplicações, que manipulem uma grande quantidade de dados, em ambientes “clusterizados”. Inspirado originalmente pelo GFS e MapReduce da Google E assim começou a batalha de Ryu… sabendo da força que o hadoop tem, ele decidiu estudar a fundo essa nova técnica… …E descobriu que:
  • 11. 11 Histórico Dez/02 – Primeira biblioteca Map/Reduce na Google Out/03 – Artigo sobre GFS Dez/04 – Artigo sobre Map Reduce Dez/05 – Doug Cutting cria o Projeto Nutch (MR e DFS) Fev/06 – Hadoop se torna um projeto oficial da Apache Abr/07 – Yahoo! roda Hadoop em um cluster de 1000 nós Jan/08 – Hadoop se transforma no projeto principal da Apache Dez/11 – Apache disponibiliza versão Hadoop 1.0.0
  • 12. 12 Principais Características do Hadoop Escalável: ele pode armazenar e processar petabytes sem problemas; Econômico: o Hadoop distribui os dados e o processamento através dos clusters. Estes clusters podem ter milhares de nós (máquinas); Eficiente: Por distribuir os dados, o Hadoop pode processar eles em paralelo por meio dos nós, onde os dados estão alocados. Confiável: ele automaticamente mantém múltiplas copias dos dados e remaneja as tarefas em caso de falhas.
  • 13. 13 Atualmente, Hortonworks, Cloudera e MapR são os principais distribuidores Hadoop (MapReduce, Hive, Sqoop, pig, etc) de forma mais integrada de acordo com a arquitetura de cada distribuição. A amazon possui sua própria implementação Hadoop Chamada Elastic MapReduce (EMR) Distribuições Hadoop
  • 15. 15 Composição do Apache Hadoop Núcleo Hadoop: • Hadoop Common • HDFS • MapReduce
  • 16. 16 Composição do Apache Hadoop 1) Hadoop Common Hadoop Common oculta o que os usuários comuns não precisam saber! Paralelização automática Balanceamento de carga Otimização nas transferências de disco e rede Tratamento de falhas Robustez Escalabilidade
  • 17. 17 2) HDFS: Hadoop Distributed File System Sistema de arquivos distribuído Grande ordem de 10k nós Milhões de arquivos Projetado para hardware de baixo custo Redundância por replicação Tolerância a falhas e recuperação Otimizado para processamento em lote Localização dos dados exposta Grande largura de banda associada Coerência dos dados Modelo “write-once-ready-many” Arquivos existentes sofrem apenas operações de “append” Arquivos quebrados em pedaços (blocos) Variam de 64mb (padrão) a 256mb Blocos distribuídos pelos nós (um arquivo é dividido em N blocos e armazenado em M nós) Blocos são replicados e as replicações distribuídas
  • 18. 18 3) MapReduce O modelo inicial proposto pelo Google apresentou alguns conceitos para facilitar alguns problemas Paralelização da computação em um aglomerado de máquinas comuns Centenas/Milhares de CPUs Paralelização e distribuição automática da computação deveria ser o mais simples possível O sistema de execução se encarrega de: Particionar e distribuir os dados de entrada Escalonar as execuções em um conjunto de máquinas Tratar as falhas Comunicação entre as máquinas
  • 19. 19 MapReduce - Arquitetura Name Node • Data Location 2 1 Client MapReduce Resource Manager Application Manager Data node 3 4 5 Data node Data node Reduce Output Reduce Reduce Map MapMap Shuffle & sort Application Master Task TaskTask 6
  • 21. 21 Storage API Distributed FS GlusterFS HDFS S3 Isilon MapRFS Local FS NoSQL based Cassandra DynamoDB Ceph Ring Openstack Swift MapReduce/Tez YARN Spark Streaming Transacional Consultas Analíticas ETL Computação Científica Indexação Interativo Batch HBase Cassandra Shark Impala Presto Hawg Drill Cascading Pig Hive Talend Solr Giraph HAMA Mahout Python R sklearn nltk panda RHadoop SAS UsosFerramentasComum Sistemasde Armazenamento Import/export CLI Sqoop Flume Storm ETL (Talend, Pentaho) Oozie Elastic Search Ecossistema Hadoop API MR Java Upload HCatalog Distribuição
  • 23. 23 Sandbox é um projeto Hortonworks, que torna o Hadoop portátil, permitindo rodar o hadoop em seu computador pessoal de forma simples e ágil. Sandbox possui fins educacionais, facilitando a curva de aprendizagem no Hortonworks Hadoop. Pré-requisitos: Ambiente de virtualização (Preferencialmente VirtualBox) Hortonworks Sandbox
  • 24. 24 HDP 2.0 Hortonworks Data Platform 2.0 leva Hadoop de uma plataforma de dados de processamento em lote, para uma plataforma multi-uso que permite processamentos em lote, interativo, online e por fluxo.
  • 25. 25 Passo 1 : baixar Sandbox for VirtualBox http://hortonworks.com/products/hortonworks-sandbox/#install Sandbox: Instalação
  • 26. 26 Passo 2 : Iniciar imagem hadoop Sandbox: Configuração 1 2 3
  • 27. 27 Passo 3 : Acessar Sanbox Hue Sandbox: Configuração Hands on
  • 30. 30 Upload dos dados https://s3.amazonaws.com/hw-sandbox/tutorial1/NYSE-2000-2001.tsv.gz A interface do File Browser é semelhante a um gerenciador de arquivos comum com padrão de diretórios. Arquivo de exemplo: Selecione o botão ‘Upload' Selecione 'Arquivos' e uma janela pop-up irá aparecer. Clique no botão: "Enviar um arquivo". Localize o arquivo de dados de exemplo que você baixou e selecione-o. A barra de progresso irá aparecer. O carregamento pode levar alguns momentos.
  • 31. 31 Upload dos dados Dados enviados: Você pode usar o navegador de arquivos como gerenciador de arquivos do seu próprio computador. Em seguida registrar o conjunto de dados com HCatalog.
  • 32. 32 Upload dos dados Preencha o campo Nome da tabela com "nyse_stocks". Em seguida, clique no botão Escolher arquivo. Selecione o arquivo que acabou de carregar 'NYSE- 2000-2001.tsv.gz.
  • 33. 33 Upload dos dados Na visualização da tabela você pode definir todos os campos e tipos de dados para a tabela. Quando tudo estiver concluído, clique no botão "Create Table" na parte inferior. Hands on
  • 34. 34 O Hive e o PIG oferecem linguagens de processamento de dados de alto nível com suporte para tipos de dados complexos para a operação em conjuntos de dados grandes. A linguagem do Hive é uma variante do SQL e, portanto, é mais acessível para pessoas já familiarizadas com SQL e bancos de dados relacionais. O Hive tem suporte para tabelas particionadas que permitem que os fluxos de trabalho extraiam somente a partição da tabela relevante para a consulta sendo executada, em vez de realizar uma digitalização completa da tabela. Hive X Pig Em uma análise, a escolha pelo uso do Hive ou PIG dependerá dos requisitos exatos do domínio do aplicativo e das preferências dos implementadores e daqueles que gravam consultas.
  • 35. 35 Scripts Hive X Pig SELECT * FROM tb_fifa_best_players WHERE nacionalidade = 'Alemanha'; SELECT a.* FROM a JOIN b ON (a.id = b.id) SELECT MARCA, sum(vl_pedido) Valor_Pedidos FROM `default.tb_orders` Group by MARCA ORDER by Valor_Pedidos DESC A = LOAD 'tb_fifa_best_players' USING org.apache.hcatalog.pig.HCatLoader(); B = FILTER A BY jogador == 'Lionel Messi'; C = ORDER B BY (colocacao); DUMP C; A = LOAD tb_fifa_best_players USING org.apache.hcatalog.pig.HCatLoader(); B = LIMIT A 100; C = FILTER B BY campo1 == 'Teste'; D = FOREACH C GENERATE symbol, date, close; E = DISTINCT D; F = GROUP E BY (campo1, campo2); G = ORDER F BY (campo1, campo2); H = JOIN G BY campo1, F BY campo1; DUMP C;
  • 37. 37 O que o Stinger? http://hortonworks.com/labs/stinger/ A Iniciativa Stinger é um projeto opensource para conduzir o futuro do Apache Hive, entregando 100x mais desempenho em escala, com execução Hive sobre o Apache Tez e semântica de SQL like.
  • 38. 38 Tabelas no Hive As consultas Hive não pode ser realizadas diretamente nos arquivos enviados, é necessária uma estrutura que “identifique” os campos do arquivo, ou seja, que mapeie e crie um padrão aos dados enviados, essa estrutura é chamada de Tabela. Existem basicamente dois tipos de tabelas: Tabelas externas (External Tables) e Tabelas gerenciadas (Managed Tables). Tabela GerenciadaTabela Externa As tabelas externas apenas mapeiam os dados no arquivo original, mas não realizam qualquer tipo de controle sobre o arquivo. As tabelas gerenciadas, realizam uma cópia dos dados isolando as informações, para que apenas a própria tabela possa acessar os dados.
  • 39. 39 Tabelas no Hive Tabela GerenciadaTabela Externa
  • 40. 40 Tabelas externas CREATE EXTERNAL TABLE IF NOT EXISTS default.TBE_VENDAS ( DESC_MARCA STRING, COD_PEDIDO_SITE STRING, DT_PEDIDO TIMESTAMP, VL_PEDIDO DECIMAL, COD_ITEM INT, COD_DEPT INT, DESC_DEPT STRING, DESC_UNI_NEGOCIO STRING, COD_MARCA INT, DESC_MARCA STRING, MARCA STRING ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' LOCATION '/user/b2w/vendas'; Tendo um arquivo com as vendas no diretório ”/user/b2w/vendas”, imagine que será necessária uma consulta nesse arquivo, nesse caso será necessária a criação de uma tabela externa para mapear e acessar essas informações. Definição de Tabela externa Diretório do arquivo Caractere delimitador de campos
  • 41. 41 Tabelas Gerenciadas CREATE TABLE IF NOT EXISTS default.TBI_VENDAS LIKE default.TB_VENDAS; INSERT OVERWRITE TABLE default.TBI_VENDAS SELECT * FROM default.TBE_VENDAS WHERE COD_ITEM IS NOT NULL; DESCRIBE FORMATTED default.TBI_VENDAS; Continuando com exemplo anterior do arquivo com as vendas no diretório ”/user/b2w/vendas”. imagine que desejamos utilizar e transformar (ETL) as informações do arquivo e copiá- las para um “black box” onde garantimos a integridade dos dados, nesse caso será necessária uma tabela gerenciada. Definição de Tabela com a mesma estrutura da tabela relacionada. Descreve a esrutura da tabela
  • 42. 42 Visualização de dados A visualização de dados de forma gráfica, relatórios e dashboards são feitos por ferramentas externas que se conectam ao ambiente hadoop, e extraem as informações necessárias. Utilizaremos duas ferramentas como exemplo: Excel e Tableau. Toda a comunicação (extração de dados) entre os ambientes é feita via Hortonworks ODBC driver (64-bit).
  • 43. 43 Edge Node Mapa - Fluxo de dados SFTP Remoção de cabeçalho Compactação de dados -Orc/SeqFile -Gzip/Snappy Partitions Buckets/Sampling script External Table HDFS Managed Table Data
  • 44. 44 Hortonworks Hive ODBC Driver http://hortonworks.com/products/hdp-2/?b=3#add_ons O Hortonworks ODBC driver permite realizar a conexão de ferramentas externas de Business Intelligence, consultas, análise e visualização de dados a Plataforma Hortonworks. Link para download
  • 45. 45 Hortonworks Hive ODBC Driver Guia em PDF com a instalação e configuração do driver ODBC http://hortonworks.com/wp-content/uploads/2013/04/Hortonworks-Hive-ODBC-Driver-User-Guide.pdf
  • 46. 46 Visualização de dados Excel Uma vez que o Seu driver ODBC esteja configurado, Pode-se utilizar o Excel para acessar dados no Hive: http://hortonworks.com/hadoop-tutorial/how-to-use-excel-2013-to-access-hadoop-data/ http://hortonworks.com/hadoop-tutorial/how-use-excel-2013-to-analyze-hadoop-data/ 1 2 3 4
  • 47. 47 Visualização de dados Tableau Uma vez que o Seu driver ODBC esteja configurado, Pode-se utilizar o Excel para acessar dados no Hive: http://hortonworks.com/kb/how-to-connect-tableau-to-hortonworks-sandbox/ 1 2 3 4 5 Host: localhost Port: 10000 Type: Hive Server 2 User: hive
  • 49. 49 You Win... Perfect! Chefe, estamos prontos para iniciar nossas análises usando Hadoop 2.0 Parabéns Ryu, You Win!
  • 50. 50 There is a way…