SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Downloaden Sie, um offline zu lesen
Filesystem Distribuído com
Hadoop!!!
Alessandro Binhara
Começando com Hadoop!!!
•
•
•
•

Grandes volumes de dados (Tera Bytes)
Processamento dos dados
Tolerância a falha
Distribuição do serviço
Por que ???
• Requisitos
–
–
–
–

500M+ usuário únicos por mês
Bilhões de eventos interessantes por dia
Necessidade de scalabilidade massiva
PB’s de storage, milhares de arquivos, 1000’s de nós

• Necessidade de ter baixo custo
– Uso de hardware comum
– Compartilhar recursos com vários projetos
– Fornecer escala quando necessário

• Precisa de infraestrutura confiável
– Deve ser capaz de lidar com falhas - hardware, software, networking
• A falha é esperada, e não uma exceção

– Transparente para as aplicações
• muito caro para construir confiabilidade em cada aplicação

• A infra-estrutura do Hadoop prove essas capacidade.
Começando com Hadoop!!!
• Histórico
–
–
–
–

Em 2004: Google publica um artigo sobre MapReduce
2005: Doug Cutting integra MapReduce no Hadoop
2006: Doug Cutting contratado pelo Yahoo
Yahoo! tornou-se o promeiro contribuidor em 2006
• Escalou de 20 node para 4000 node clusters em 2010

– 2008: Cloudera é Fundada (www.cloudera.com)

• Características
– Escrito em Java, OpenSource
– Roda em hardware comum
– Linux, Mac OS/X, Windows, and Solaris
O que é o Hadoop
• O Apache Hadoop é um projeto desenvolvimento
como open-source software para escalavel ,
confiável e processamento distribuído. Inclui:
– MapReduce e Sistema de arquivos distribuído
framework para for large commodity clusters
– Master/Slave
– JobTracker organiza todas as tarefas e coordena o
fluxo de dados entre os TaskTrackers
– TaskTracker manipula todos os worker no node
– Worker Task executa as operações de map ou reduce
– Integra-se com HDFS com os dados localmente
Características do Hadoop
• Um sistema escalável e confiável para
armazenamento compartilhado e análises.
• Ele automaticamente trata da replicação de
dados e da falhas em cada nó.
• Ele faz o trabalho duro - desenvolvedor pode
se concentrar em processamento da lógica de
dados
• Permite que os aplicativos usem petabytes de
dados em paralelo
Ecosistema Hadoop
• Hadoop Core
Hadoop Core

– Distributed File System
Distributed File System
MapReduce Framework
– MapReduce Framework

Pig Yahoo!)
• Pig (criado pelo(criado pelo Yahoo!)Runtime
Parallel Programming Language e
– Parallel Programming Language e Runtime
Hbase (criado pelo Powerset)
• Hbase (criadoTable storage for semi-structured data
pelo Powerset)
– Table storage for semi-structured(criado pelo
Zookeaper data
Yahoo!)
• Zookeaper (criado pelo Yahoo!)
Coordinating distributed systems
– Coordinating distributed systems
Hive (criado pelo Facebook)
• Hive (criado pelo Facebook) and metastore
SQL-like query language
– SQL-like query language and metastore
Quem usa o Hadoop ?
•
•
•
•
•

Buscapé / Ebehavior
Amazon/A9
Facebook
Google
IBM

•
•
•
•
•
•

Joost
Last.fm
New York Times
PowerSet
Veoh
Yahoo!
M45(open cirrus cluster )
• Colaboração com grandes universidades de
pesquisa(via open cirrus)
–
–
–
–

Carnegie Mellon University
The University of California at Berkeley
Cornell University
The University of Massachusetts at Amherst joined

• Seed Facility:

Datacenter na caixa (DiB)

– 500 nodes, 4000 cores, 3TB RAM, 1.5PB disk
– Conexão de alta velocidade com a internet
– Localizado no Yahoo no campu Coorporativo

• Roda Hadoop
• Tem sido usado no últimos 2 anos
Hadoop no Facebook
• Cluster em produção
–
–
–
–
–

4800 cores, 600 máquina, 16GB por máquina – Abril/2009
8000 cores, 1000 máquinas, 32 GB por máquina – julho/2009
4 SATA discos de 1 TB por máquina
2 níveis de rede hierarquica, 40 máquinas por rack
Total do tamanho do cluster 2 PB, projetado para 12 PB no Q3 2009

• Cluster de Teste
• 800 cores, 16GB cada
Yahoo Hadoop Cluster
Uso de Hardware Comum

Tipicamente em 2 níveis
– Nós são PCs comuns
– 30-40 nodes/rack
– Rack em Uplink de 3-4 gigabit
– Rack-interno de 1 gigabit
HDFS
• Inspirado em GFS
• Projetado para trabalhar com arquivos muito
grandes
• Executado em hardware commodity
• Streaming de acesso a dados
• Replicação e localidade
HDFS
• Projetado para escalar a petabytes de armazenamento, e
correr em cima dos sistemas de arquivos do sistema
operacional subjacente.
• “NameNode” - Master

– Gerencia o sistema de arquivos namespace
Conhece todos os blocos de localização
– lida com a replicação, exclusão, criação

• “DataNode” - Slave (workers)

– Manter os blocos de dados
– Relatório de volta para namenode suas listas de blocos
periodicamente
– lida com a recuperação de dados
HDFS - Duplicação
• Dados de entrada é
copiado para HDFS é
dividido em blocos
• Cada blocos de dados é
replicado para várias
máquinas
HDFS – Hadoop FileSystem
• Sistema de Arquivos Distribuído para grande
Volumes
– 10K nodes, 100 milhões de arquivos, 10 PB

• Hardware Comum (comodite)
– Os arquivos são replicados esperando falha de
hardware
– Detecção de falhas e recuperação
• Otimizado para Batch Processing
– Os dados ficam expostos, a computação pode
ser movida onde os dados estiverem
• Roda em diversos OS (win, linux, mac)
HDFS - MapReduce Data Flow
Modos de Operação
• Standalone
• Pseudo-distributed
• Fully-distributed
O que é Map Reduce
• MapReduce é um modelo de programação e
implementação associados para o
processamento e geração de grandes conjuntos
de dados (Jeffrey Dean e Sanjay Ghemawat, 2004)
– A ideia tem mais de 40 anos
– Baseado em um modelo de programação funcional
(como Lisp, Ml, etc)
– Processamento de dados base em batch
– A abstração limpa para programadores
– Paralelização automática e distribuição
– Tolerância a falhas
MapReduce x Hadoop
MapReduce

Hadoop

Org

Google

Yahoo/Apache

Impl

C++

Java

Distributed File
Sys

GFS

HDFS

Data Base

Bigtable

HBase

Distributed
lock mgr

Chubby

ZooKeeper
MapReduce – Função Map
• Input:
– Registros de alguma fonte de dados (por exemplo,
linhas de arquivos, linhas de um banco de dados,
...) estão associados no par (chave, valor)

• Output:
– Um ou mais valores intermediários no formato
(chave, valor)
• Exemplo: (palavra, numero_de_ocorrencias)
MapReduce – Função Map
Exemplo – Função Map
map (k, v):
if (isPrime(v)) then emit (k, v)

(“foo”, 7) (“foo”, 7)
(“test, 10) (nothing)
MapReduce – Função Reduce
Depois que a fase de mapeamento terminar, todos
os valores intermediários vão para uma chave de
saída, estes são combinadas em uma lista
• Input
– Valores Intermediários :
– Example: (“A”, [42, 100, 312])

• Output
– Normalmente, apenas um valor final por chave
– Exemplo (“a”, 454)
MapReduce – Função Reduce
Exemplo – Função Reduce
reduce (k, vals):
sum = 0
foreach int v in vals:
sum += v
emit (k, sum)
(“A”, [42, 100, 312]) (“A”, 454)
(“B”, [12, 6, -2]) (“B”, 16)
MapReduce - Terminologia
• Job: unidade de trabalho que o cliente quer ser
realizados
– Dados de entrada + programa MapReduce +
configuração da informação

• Task: parte do trabalho
– Mapa e reduzir tarefas

• Jobtracker: nó que coordena todos os trabalhos
na sistema de agendamento de tarefas para rodar
em tasktrackers.
• TaskTracker: nós que executar tarefas e enviar o
progresso ao jobtracker
Fluxo do Trabalho
Exemplo Real
map (String key, String value):
// key: document name
// value: document contents
for each word w in value:
EmitIntermediate(w, "1");
Reduce
reduce(String key, Iterator values):
// key: a palavra
// values: a lista de valores
int result = 0;
for each v in values:
result += ParseInt(v);
Emit(AsString(result));
Map/Reduce Cluster
Input
files

M map
tasks

Intermediate
files

R reduce
tasks

split 0
split 1
split 2
split 3
split 4
Vários Map ou Reduce
podem ser executados em
um único computador

Output
files

Output 0

Output 1
Cada arquivo
intermediário é dividido em
partições R, pela função de
particionamento

Cada tarefa reduce
corresponde uma
partição
Execução
Map Reduce
Exemplo Java - Mapper
Exemplo Java – Reduce
JobJava
Passo a Passo
• Os passos básicos para a execução de um
trabalho Hadoop são:
– Compile o seu trabalho em um arquivo JAR
– Copiar dados de entrada no HDFS
– Execute hadoop passando para o AJR
os parametros relevantes
– Monitorar tarefas via interface Web (opcional)
– Examinar a saída quando o trabalho estiver
completo
Exemplo
hadoop jar /usr/lib/hadoop/hadoop-*-examples.jar pi 10 100
hadoop fs -mkdir input
hadoop fs -put /etc/hadoop-0.20/conf/*.xml input
hadoop-0.20 fs -ls input
hadoop-0.20 jar /usr/lib/hadoop-0.20/hadoop-*-examples.jar
grep input output 'dfs[a-z.]+'
hadoop-0.20 fs -mkdir inputwords
hadoop-0.20 fs -put /etc/hadoop-0.20/conf/*.xml inputwords
hadoop-0.20 fs -ls inputwords
hadoop-0.20 jar /usr/lib/hadoop-0.20/hadoop-*-examples.jar
grep inputwords outputwords 'dfs[a-z.]+'
Obrigado
•
•
•
•

Alessandro de Oliveira Binhara
binhara@gmail.com
binahra@azuris.com.br
www.facebook.com/azuriscompany

Weitere ähnliche Inhalte

Was ist angesagt?

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
 
TDC2017 | POA Trilha BigData - Utilizando o Apache Kudu como Workload Analítico
TDC2017 | POA Trilha BigData - Utilizando o Apache Kudu como Workload AnalíticoTDC2017 | POA Trilha BigData - Utilizando o Apache Kudu como Workload Analítico
TDC2017 | POA Trilha BigData - Utilizando o Apache Kudu como Workload Analíticotdc-globalcode
 
AWS Redshift Primer
AWS Redshift PrimerAWS Redshift Primer
AWS Redshift PrimerMateus Aubin
 
TDC 2014 - Hadoop Hands ON
TDC 2014 - Hadoop Hands ONTDC 2014 - Hadoop Hands ON
TDC 2014 - Hadoop Hands ONThiago Santiago
 
Machine learning com Apache Spark
Machine learning com Apache SparkMachine learning com Apache Spark
Machine learning com Apache SparkSandys Nunes
 
Greenplum: O banco de dados open source massivamente paralelo baseado em Post...
Greenplum: O banco de dados open source massivamente paralelo baseado em Post...Greenplum: O banco de dados open source massivamente paralelo baseado em Post...
Greenplum: O banco de dados open source massivamente paralelo baseado em Post...PGDay Campinas
 
Bancos de dados analíticos open source
Bancos de dados analíticos open sourceBancos de dados analíticos open source
Bancos de dados analíticos open sourceMatheus Espanhol
 
Sistemas distribuidos - Hadoop
Sistemas distribuidos  - HadoopSistemas distribuidos  - Hadoop
Sistemas distribuidos - Hadooprenanaugusto18
 
Amazon emr cluster hadoop pronto para usar na nuvem aws
Amazon emr   cluster hadoop pronto para usar na nuvem awsAmazon emr   cluster hadoop pronto para usar na nuvem aws
Amazon emr cluster hadoop pronto para usar na nuvem awsAmazon Web Services LATAM
 
Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!
Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!
Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!Matheus Espanhol
 
Bancos de Dados Relacionais e NoSQL na Nuvem da AWS
Bancos de Dados Relacionais e NoSQL na Nuvem da AWSBancos de Dados Relacionais e NoSQL na Nuvem da AWS
Bancos de Dados Relacionais e NoSQL na Nuvem da AWSAmazon Web Services LATAM
 
Pré processamento de grandes dados com Apache Spark
Pré processamento de grandes dados com Apache SparkPré processamento de grandes dados com Apache Spark
Pré processamento de grandes dados com Apache SparkFelipe
 
Bigdata - compreendendo Hadoop e seu ecossistema.
Bigdata - compreendendo Hadoop e seu ecossistema. Bigdata - compreendendo Hadoop e seu ecossistema.
Bigdata - compreendendo Hadoop e seu ecossistema. Natalia Raythz
 
Queries em Big Data: Bancos de dados em GPU
Queries em Big Data: Bancos de dados em GPUQueries em Big Data: Bancos de dados em GPU
Queries em Big Data: Bancos de dados em GPUTiago Vinicius
 
Cloud Server Embratel
Cloud Server EmbratelCloud Server Embratel
Cloud Server EmbratelAlex Hübner
 
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0Marcos William Valentini
 

Was ist angesagt? (20)

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
 
TDC2017 | POA Trilha BigData - Utilizando o Apache Kudu como Workload Analítico
TDC2017 | POA Trilha BigData - Utilizando o Apache Kudu como Workload AnalíticoTDC2017 | POA Trilha BigData - Utilizando o Apache Kudu como Workload Analítico
TDC2017 | POA Trilha BigData - Utilizando o Apache Kudu como Workload Analítico
 
AWS Redshift Primer
AWS Redshift PrimerAWS Redshift Primer
AWS Redshift Primer
 
TDC 2014 - Hadoop Hands ON
TDC 2014 - Hadoop Hands ONTDC 2014 - Hadoop Hands ON
TDC 2014 - Hadoop Hands ON
 
Hbase trabalho final
Hbase trabalho finalHbase trabalho final
Hbase trabalho final
 
Machine learning com Apache Spark
Machine learning com Apache SparkMachine learning com Apache Spark
Machine learning com Apache Spark
 
Greenplum: O banco de dados open source massivamente paralelo baseado em Post...
Greenplum: O banco de dados open source massivamente paralelo baseado em Post...Greenplum: O banco de dados open source massivamente paralelo baseado em Post...
Greenplum: O banco de dados open source massivamente paralelo baseado em Post...
 
Bancos de dados analíticos open source
Bancos de dados analíticos open sourceBancos de dados analíticos open source
Bancos de dados analíticos open source
 
Sistemas distribuidos - Hadoop
Sistemas distribuidos  - HadoopSistemas distribuidos  - Hadoop
Sistemas distribuidos - Hadoop
 
Hadoop
HadoopHadoop
Hadoop
 
Hbase
HbaseHbase
Hbase
 
Amazon emr cluster hadoop pronto para usar na nuvem aws
Amazon emr   cluster hadoop pronto para usar na nuvem awsAmazon emr   cluster hadoop pronto para usar na nuvem aws
Amazon emr cluster hadoop pronto para usar na nuvem aws
 
Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!
Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!
Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!
 
BIG DATA na UFSM
BIG DATA na UFSMBIG DATA na UFSM
BIG DATA na UFSM
 
Bancos de Dados Relacionais e NoSQL na Nuvem da AWS
Bancos de Dados Relacionais e NoSQL na Nuvem da AWSBancos de Dados Relacionais e NoSQL na Nuvem da AWS
Bancos de Dados Relacionais e NoSQL na Nuvem da AWS
 
Pré processamento de grandes dados com Apache Spark
Pré processamento de grandes dados com Apache SparkPré processamento de grandes dados com Apache Spark
Pré processamento de grandes dados com Apache Spark
 
Bigdata - compreendendo Hadoop e seu ecossistema.
Bigdata - compreendendo Hadoop e seu ecossistema. Bigdata - compreendendo Hadoop e seu ecossistema.
Bigdata - compreendendo Hadoop e seu ecossistema.
 
Queries em Big Data: Bancos de dados em GPU
Queries em Big Data: Bancos de dados em GPUQueries em Big Data: Bancos de dados em GPU
Queries em Big Data: Bancos de dados em GPU
 
Cloud Server Embratel
Cloud Server EmbratelCloud Server Embratel
Cloud Server Embratel
 
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
 

Ähnlich wie Filesystem distribuído com hadoop!!!

Hadoop - primeiros passos
Hadoop - primeiros passosHadoop - primeiros passos
Hadoop - primeiros passosrhpinotti
 
Palestra: Big Data Open Source com Hadoop - FLISOL 2014 - Curitiba
Palestra: Big Data Open Source com Hadoop - FLISOL 2014 - CuritibaPalestra: Big Data Open Source com Hadoop - FLISOL 2014 - Curitiba
Palestra: Big Data Open Source com Hadoop - FLISOL 2014 - CuritibaMarcio Junior Vieira
 
Big Data Open Source com Hadoop
Big Data Open Source com HadoopBig Data Open Source com Hadoop
Big Data Open Source com HadoopAmbiente Livre
 
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
 
Bigdata na pratica: Resolvendo problemas de performance com hadoop
Bigdata na pratica: Resolvendo problemas de performance com hadoopBigdata na pratica: Resolvendo problemas de performance com hadoop
Bigdata na pratica: Resolvendo problemas de performance com hadooptdc-globalcode
 
Big data para programadores convencionais
Big data para programadores convencionaisBig data para programadores convencionais
Big data para programadores convencionaisRoberto Oliveira
 
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
 
Hadoop - Mãos à massa! Qcon2014
Hadoop - Mãos à massa! Qcon2014Hadoop - Mãos à massa! Qcon2014
Hadoop - Mãos à massa! Qcon2014Thiago Santiago
 
Ciclo 4 - Instalação do Hadoop
Ciclo 4 - Instalação do HadoopCiclo 4 - Instalação do Hadoop
Ciclo 4 - Instalação do HadoopJeane Menegueli
 
Sparsi big data
Sparsi big dataSparsi big data
Sparsi big datasparsi
 
Big Data - O que é o hadoop, map reduce, hdfs e hive
Big Data - O que é o hadoop, map reduce, hdfs e hiveBig Data - O que é o hadoop, map reduce, hdfs e hive
Big Data - O que é o hadoop, map reduce, hdfs e hiveFlavio Fonte, PMP, ITIL
 
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
 
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big DataDeep Tech Brasil
 
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
 
Migrando seu workload de Big Data para o Amazon EMR
Migrando seu workload de Big Data para o Amazon EMRMigrando seu workload de Big Data para o Amazon EMR
Migrando seu workload de Big Data para o Amazon EMRAmazon Web Services LATAM
 

Ähnlich wie Filesystem distribuído com hadoop!!! (20)

Hadoop - primeiros passos
Hadoop - primeiros passosHadoop - primeiros passos
Hadoop - primeiros passos
 
Palestra: Big Data Open Source com Hadoop - FLISOL 2014 - Curitiba
Palestra: Big Data Open Source com Hadoop - FLISOL 2014 - CuritibaPalestra: Big Data Open Source com Hadoop - FLISOL 2014 - Curitiba
Palestra: Big Data Open Source com Hadoop - FLISOL 2014 - Curitiba
 
Seminário Hadoop
Seminário HadoopSeminário Hadoop
Seminário Hadoop
 
Big Data Open Source com Hadoop
Big Data Open Source com HadoopBig Data Open Source com Hadoop
Big Data Open Source com Hadoop
 
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...
 
Bigdata na pratica: Resolvendo problemas de performance com hadoop
Bigdata na pratica: Resolvendo problemas de performance com hadoopBigdata na pratica: Resolvendo problemas de performance com hadoop
Bigdata na pratica: Resolvendo problemas de performance com hadoop
 
Big data para programadores convencionais
Big data para programadores convencionaisBig data para programadores convencionais
Big data para programadores convencionais
 
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
 
Hadoop - Mãos à massa! Qcon2014
Hadoop - Mãos à massa! Qcon2014Hadoop - Mãos à massa! Qcon2014
Hadoop - Mãos à massa! Qcon2014
 
Treinamento hadoop - dia3
Treinamento hadoop - dia3Treinamento hadoop - dia3
Treinamento hadoop - dia3
 
MapReduce
MapReduceMapReduce
MapReduce
 
Big data e ecossistema hadoop
Big data e ecossistema hadoopBig data e ecossistema hadoop
Big data e ecossistema hadoop
 
Ciclo 4 - Instalação do Hadoop
Ciclo 4 - Instalação do HadoopCiclo 4 - Instalação do Hadoop
Ciclo 4 - Instalação do Hadoop
 
Sparsi big data
Sparsi big dataSparsi big data
Sparsi big data
 
Big Data - O que é o hadoop, map reduce, hdfs e hive
Big Data - O que é o hadoop, map reduce, hdfs e hiveBig Data - O que é o hadoop, map reduce, hdfs e hive
Big Data - O que é o hadoop, map reduce, hdfs e hive
 
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
 
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
 
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
 
Treinamento hadoop - dia4
Treinamento hadoop - dia4Treinamento hadoop - dia4
Treinamento hadoop - dia4
 
Migrando seu workload de Big Data para o Amazon EMR
Migrando seu workload de Big Data para o Amazon EMRMigrando seu workload de Big Data para o Amazon EMR
Migrando seu workload de Big Data para o Amazon EMR
 

Mehr von Alessandro Binhara

Uma breve introdução ao Big Data e Inteligência Artificial.pptx
Uma breve introdução ao Big Data e Inteligência Artificial.pptxUma breve introdução ao Big Data e Inteligência Artificial.pptx
Uma breve introdução ao Big Data e Inteligência Artificial.pptxAlessandro Binhara
 
BigData e internte das coisas aplicada a engenharia
BigData e internte das coisas aplicada a engenhariaBigData e internte das coisas aplicada a engenharia
BigData e internte das coisas aplicada a engenhariaAlessandro Binhara
 
Case RDStation: Construindo DataLakes com Apache Hadoop em cloud agnóstica
Case RDStation: Construindo DataLakes com Apache Hadoop em cloud agnósticaCase RDStation: Construindo DataLakes com Apache Hadoop em cloud agnóstica
Case RDStation: Construindo DataLakes com Apache Hadoop em cloud agnósticaAlessandro Binhara
 
Latinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jediLatinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jediAlessandro Binhara
 
2019 latinoware - O mundo novo da realidade virtual
2019 latinoware - O mundo novo da realidade virtual2019 latinoware - O mundo novo da realidade virtual
2019 latinoware - O mundo novo da realidade virtualAlessandro Binhara
 
Realidade Virtual e a Ciência de Dados -latinoware
Realidade Virtual e a Ciência de Dados -latinowareRealidade Virtual e a Ciência de Dados -latinoware
Realidade Virtual e a Ciência de Dados -latinowareAlessandro Binhara
 
Realidade Virtual e a Ciência de Dados
Realidade Virtual e a Ciência de DadosRealidade Virtual e a Ciência de Dados
Realidade Virtual e a Ciência de DadosAlessandro Binhara
 
A IMPORTÂNCIA DA PARTICIPAÇÃO NA GESTÃO DE PROJETOS TECNOLÓGICOS INOVADORES:...
A IMPORTÂNCIA DA PARTICIPAÇÃO NA  GESTÃO DE PROJETOS TECNOLÓGICOS INOVADORES:...A IMPORTÂNCIA DA PARTICIPAÇÃO NA  GESTÃO DE PROJETOS TECNOLÓGICOS INOVADORES:...
A IMPORTÂNCIA DA PARTICIPAÇÃO NA GESTÃO DE PROJETOS TECNOLÓGICOS INOVADORES:...Alessandro Binhara
 
BIG DATA & IoT: Tecnologias e  Aplicações
BIG DATA & IoT: Tecnologias e  AplicaçõesBIG DATA & IoT: Tecnologias e  Aplicações
BIG DATA & IoT: Tecnologias e  AplicaçõesAlessandro Binhara
 
Introduçãoo aws, escalando uma aplicação Web
Introduçãoo aws, escalando uma aplicação WebIntroduçãoo aws, escalando uma aplicação Web
Introduçãoo aws, escalando uma aplicação WebAlessandro Binhara
 
Desenvolvimento de Games para Mobile.
Desenvolvimento de Games para Mobile.Desenvolvimento de Games para Mobile.
Desenvolvimento de Games para Mobile.Alessandro Binhara
 
Curso C# em Mono - Orientação a Objeto Basico
Curso C# em Mono - Orientação a Objeto BasicoCurso C# em Mono - Orientação a Objeto Basico
Curso C# em Mono - Orientação a Objeto BasicoAlessandro Binhara
 
Apresentação Final a FINEP Projeto MonoBasic
Apresentação Final a FINEP Projeto MonoBasicApresentação Final a FINEP Projeto MonoBasic
Apresentação Final a FINEP Projeto MonoBasicAlessandro Binhara
 

Mehr von Alessandro Binhara (20)

Uma breve introdução ao Big Data e Inteligência Artificial.pptx
Uma breve introdução ao Big Data e Inteligência Artificial.pptxUma breve introdução ao Big Data e Inteligência Artificial.pptx
Uma breve introdução ao Big Data e Inteligência Artificial.pptx
 
BigData e internte das coisas aplicada a engenharia
BigData e internte das coisas aplicada a engenhariaBigData e internte das coisas aplicada a engenharia
BigData e internte das coisas aplicada a engenharia
 
Case RDStation: Construindo DataLakes com Apache Hadoop em cloud agnóstica
Case RDStation: Construindo DataLakes com Apache Hadoop em cloud agnósticaCase RDStation: Construindo DataLakes com Apache Hadoop em cloud agnóstica
Case RDStation: Construindo DataLakes com Apache Hadoop em cloud agnóstica
 
Latinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jediLatinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jedi
 
2019 latinoware - O mundo novo da realidade virtual
2019 latinoware - O mundo novo da realidade virtual2019 latinoware - O mundo novo da realidade virtual
2019 latinoware - O mundo novo da realidade virtual
 
Realidade Virtual e a Ciência de Dados -latinoware
Realidade Virtual e a Ciência de Dados -latinowareRealidade Virtual e a Ciência de Dados -latinoware
Realidade Virtual e a Ciência de Dados -latinoware
 
Realidade Virtual e a Ciência de Dados
Realidade Virtual e a Ciência de DadosRealidade Virtual e a Ciência de Dados
Realidade Virtual e a Ciência de Dados
 
A IMPORTÂNCIA DA PARTICIPAÇÃO NA GESTÃO DE PROJETOS TECNOLÓGICOS INOVADORES:...
A IMPORTÂNCIA DA PARTICIPAÇÃO NA  GESTÃO DE PROJETOS TECNOLÓGICOS INOVADORES:...A IMPORTÂNCIA DA PARTICIPAÇÃO NA  GESTÃO DE PROJETOS TECNOLÓGICOS INOVADORES:...
A IMPORTÂNCIA DA PARTICIPAÇÃO NA GESTÃO DE PROJETOS TECNOLÓGICOS INOVADORES:...
 
Curso de Férias - Robótica
Curso de Férias -  Robótica Curso de Férias -  Robótica
Curso de Férias - Robótica
 
BIG DATA & IoT: Tecnologias e  Aplicações
BIG DATA & IoT: Tecnologias e  AplicaçõesBIG DATA & IoT: Tecnologias e  Aplicações
BIG DATA & IoT: Tecnologias e  Aplicações
 
Introduçãoo aws, escalando uma aplicação Web
Introduçãoo aws, escalando uma aplicação WebIntroduçãoo aws, escalando uma aplicação Web
Introduçãoo aws, escalando uma aplicação Web
 
Bigadata casese opotunidades
Bigadata casese opotunidadesBigadata casese opotunidades
Bigadata casese opotunidades
 
Xamarin plataform
Xamarin plataformXamarin plataform
Xamarin plataform
 
Desenvolvimento de Games para Mobile.
Desenvolvimento de Games para Mobile.Desenvolvimento de Games para Mobile.
Desenvolvimento de Games para Mobile.
 
Games imersivos
Games imersivosGames imersivos
Games imersivos
 
Abertura - interopmix2014
Abertura - interopmix2014Abertura - interopmix2014
Abertura - interopmix2014
 
Curso C# em Mono - Orientação a Objeto Basico
Curso C# em Mono - Orientação a Objeto BasicoCurso C# em Mono - Orientação a Objeto Basico
Curso C# em Mono - Orientação a Objeto Basico
 
Treinamento csharp mono
Treinamento csharp monoTreinamento csharp mono
Treinamento csharp mono
 
Int305 projeto mono-final
Int305 projeto mono-finalInt305 projeto mono-final
Int305 projeto mono-final
 
Apresentação Final a FINEP Projeto MonoBasic
Apresentação Final a FINEP Projeto MonoBasicApresentação Final a FINEP Projeto MonoBasic
Apresentação Final a FINEP Projeto MonoBasic
 

Filesystem distribuído com hadoop!!!

  • 2. Começando com Hadoop!!! • • • • Grandes volumes de dados (Tera Bytes) Processamento dos dados Tolerância a falha Distribuição do serviço
  • 3. Por que ??? • Requisitos – – – – 500M+ usuário únicos por mês Bilhões de eventos interessantes por dia Necessidade de scalabilidade massiva PB’s de storage, milhares de arquivos, 1000’s de nós • Necessidade de ter baixo custo – Uso de hardware comum – Compartilhar recursos com vários projetos – Fornecer escala quando necessário • Precisa de infraestrutura confiável – Deve ser capaz de lidar com falhas - hardware, software, networking • A falha é esperada, e não uma exceção – Transparente para as aplicações • muito caro para construir confiabilidade em cada aplicação • A infra-estrutura do Hadoop prove essas capacidade.
  • 4. Começando com Hadoop!!! • Histórico – – – – Em 2004: Google publica um artigo sobre MapReduce 2005: Doug Cutting integra MapReduce no Hadoop 2006: Doug Cutting contratado pelo Yahoo Yahoo! tornou-se o promeiro contribuidor em 2006 • Escalou de 20 node para 4000 node clusters em 2010 – 2008: Cloudera é Fundada (www.cloudera.com) • Características – Escrito em Java, OpenSource – Roda em hardware comum – Linux, Mac OS/X, Windows, and Solaris
  • 5. O que é o Hadoop • O Apache Hadoop é um projeto desenvolvimento como open-source software para escalavel , confiável e processamento distribuído. Inclui: – MapReduce e Sistema de arquivos distribuído framework para for large commodity clusters – Master/Slave – JobTracker organiza todas as tarefas e coordena o fluxo de dados entre os TaskTrackers – TaskTracker manipula todos os worker no node – Worker Task executa as operações de map ou reduce – Integra-se com HDFS com os dados localmente
  • 6. Características do Hadoop • Um sistema escalável e confiável para armazenamento compartilhado e análises. • Ele automaticamente trata da replicação de dados e da falhas em cada nó. • Ele faz o trabalho duro - desenvolvedor pode se concentrar em processamento da lógica de dados • Permite que os aplicativos usem petabytes de dados em paralelo
  • 7. Ecosistema Hadoop • Hadoop Core Hadoop Core – Distributed File System Distributed File System MapReduce Framework – MapReduce Framework Pig Yahoo!) • Pig (criado pelo(criado pelo Yahoo!)Runtime Parallel Programming Language e – Parallel Programming Language e Runtime Hbase (criado pelo Powerset) • Hbase (criadoTable storage for semi-structured data pelo Powerset) – Table storage for semi-structured(criado pelo Zookeaper data Yahoo!) • Zookeaper (criado pelo Yahoo!) Coordinating distributed systems – Coordinating distributed systems Hive (criado pelo Facebook) • Hive (criado pelo Facebook) and metastore SQL-like query language – SQL-like query language and metastore
  • 8. Quem usa o Hadoop ? • • • • • Buscapé / Ebehavior Amazon/A9 Facebook Google IBM • • • • • • Joost Last.fm New York Times PowerSet Veoh Yahoo!
  • 9. M45(open cirrus cluster ) • Colaboração com grandes universidades de pesquisa(via open cirrus) – – – – Carnegie Mellon University The University of California at Berkeley Cornell University The University of Massachusetts at Amherst joined • Seed Facility: Datacenter na caixa (DiB) – 500 nodes, 4000 cores, 3TB RAM, 1.5PB disk – Conexão de alta velocidade com a internet – Localizado no Yahoo no campu Coorporativo • Roda Hadoop • Tem sido usado no últimos 2 anos
  • 10. Hadoop no Facebook • Cluster em produção – – – – – 4800 cores, 600 máquina, 16GB por máquina – Abril/2009 8000 cores, 1000 máquinas, 32 GB por máquina – julho/2009 4 SATA discos de 1 TB por máquina 2 níveis de rede hierarquica, 40 máquinas por rack Total do tamanho do cluster 2 PB, projetado para 12 PB no Q3 2009 • Cluster de Teste • 800 cores, 16GB cada
  • 12. Uso de Hardware Comum Tipicamente em 2 níveis – Nós são PCs comuns – 30-40 nodes/rack – Rack em Uplink de 3-4 gigabit – Rack-interno de 1 gigabit
  • 13. HDFS • Inspirado em GFS • Projetado para trabalhar com arquivos muito grandes • Executado em hardware commodity • Streaming de acesso a dados • Replicação e localidade
  • 14. HDFS • Projetado para escalar a petabytes de armazenamento, e correr em cima dos sistemas de arquivos do sistema operacional subjacente. • “NameNode” - Master – Gerencia o sistema de arquivos namespace Conhece todos os blocos de localização – lida com a replicação, exclusão, criação • “DataNode” - Slave (workers) – Manter os blocos de dados – Relatório de volta para namenode suas listas de blocos periodicamente – lida com a recuperação de dados
  • 15. HDFS - Duplicação • Dados de entrada é copiado para HDFS é dividido em blocos • Cada blocos de dados é replicado para várias máquinas
  • 16. HDFS – Hadoop FileSystem • Sistema de Arquivos Distribuído para grande Volumes – 10K nodes, 100 milhões de arquivos, 10 PB • Hardware Comum (comodite) – Os arquivos são replicados esperando falha de hardware – Detecção de falhas e recuperação • Otimizado para Batch Processing – Os dados ficam expostos, a computação pode ser movida onde os dados estiverem • Roda em diversos OS (win, linux, mac)
  • 17. HDFS - MapReduce Data Flow
  • 18.
  • 19. Modos de Operação • Standalone • Pseudo-distributed • Fully-distributed
  • 20. O que é Map Reduce • MapReduce é um modelo de programação e implementação associados para o processamento e geração de grandes conjuntos de dados (Jeffrey Dean e Sanjay Ghemawat, 2004) – A ideia tem mais de 40 anos – Baseado em um modelo de programação funcional (como Lisp, Ml, etc) – Processamento de dados base em batch – A abstração limpa para programadores – Paralelização automática e distribuição – Tolerância a falhas
  • 21. MapReduce x Hadoop MapReduce Hadoop Org Google Yahoo/Apache Impl C++ Java Distributed File Sys GFS HDFS Data Base Bigtable HBase Distributed lock mgr Chubby ZooKeeper
  • 22. MapReduce – Função Map • Input: – Registros de alguma fonte de dados (por exemplo, linhas de arquivos, linhas de um banco de dados, ...) estão associados no par (chave, valor) • Output: – Um ou mais valores intermediários no formato (chave, valor) • Exemplo: (palavra, numero_de_ocorrencias)
  • 24. Exemplo – Função Map map (k, v): if (isPrime(v)) then emit (k, v) (“foo”, 7) (“foo”, 7) (“test, 10) (nothing)
  • 25. MapReduce – Função Reduce Depois que a fase de mapeamento terminar, todos os valores intermediários vão para uma chave de saída, estes são combinadas em uma lista • Input – Valores Intermediários : – Example: (“A”, [42, 100, 312]) • Output – Normalmente, apenas um valor final por chave – Exemplo (“a”, 454)
  • 27. Exemplo – Função Reduce reduce (k, vals): sum = 0 foreach int v in vals: sum += v emit (k, sum) (“A”, [42, 100, 312]) (“A”, 454) (“B”, [12, 6, -2]) (“B”, 16)
  • 28. MapReduce - Terminologia • Job: unidade de trabalho que o cliente quer ser realizados – Dados de entrada + programa MapReduce + configuração da informação • Task: parte do trabalho – Mapa e reduzir tarefas • Jobtracker: nó que coordena todos os trabalhos na sistema de agendamento de tarefas para rodar em tasktrackers. • TaskTracker: nós que executar tarefas e enviar o progresso ao jobtracker
  • 30. Exemplo Real map (String key, String value): // key: document name // value: document contents for each word w in value: EmitIntermediate(w, "1");
  • 31. Reduce reduce(String key, Iterator values): // key: a palavra // values: a lista de valores int result = 0; for each v in values: result += ParseInt(v); Emit(AsString(result));
  • 32. Map/Reduce Cluster Input files M map tasks Intermediate files R reduce tasks split 0 split 1 split 2 split 3 split 4 Vários Map ou Reduce podem ser executados em um único computador Output files Output 0 Output 1 Cada arquivo intermediário é dividido em partições R, pela função de particionamento Cada tarefa reduce corresponde uma partição
  • 35. Exemplo Java - Mapper
  • 38. Passo a Passo • Os passos básicos para a execução de um trabalho Hadoop são: – Compile o seu trabalho em um arquivo JAR – Copiar dados de entrada no HDFS – Execute hadoop passando para o AJR os parametros relevantes – Monitorar tarefas via interface Web (opcional) – Examinar a saída quando o trabalho estiver completo
  • 39. Exemplo hadoop jar /usr/lib/hadoop/hadoop-*-examples.jar pi 10 100 hadoop fs -mkdir input hadoop fs -put /etc/hadoop-0.20/conf/*.xml input hadoop-0.20 fs -ls input hadoop-0.20 jar /usr/lib/hadoop-0.20/hadoop-*-examples.jar grep input output 'dfs[a-z.]+' hadoop-0.20 fs -mkdir inputwords hadoop-0.20 fs -put /etc/hadoop-0.20/conf/*.xml inputwords hadoop-0.20 fs -ls inputwords hadoop-0.20 jar /usr/lib/hadoop-0.20/hadoop-*-examples.jar grep inputwords outputwords 'dfs[a-z.]+'
  • 40. Obrigado • • • • Alessandro de Oliveira Binhara binhara@gmail.com binahra@azuris.com.br www.facebook.com/azuriscompany