Buscar

teorico lll Introdução ao Projeto Hadoop

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Inserir Título Aqui 
Inserir Título Aqui
Tecnologias de 
BI e Big Data
Introdução ao Projeto Hadoop
Responsável pelo Conteúdo:
Prof. Dr. Alberto Messias
Revisão Textual:
Profa. Ms. Natalia Conti
Nesta unidade, trabalharemos os seguintes tópicos:
• Introdução ao Tema
• Orientações para Leitura Obrigatória
• Material Complementar Fonte: iStock/Getty Im
ages
Objetivos
• Permitir ao estudante compreender as definições iniciais sobre o projeto Hadoop, suas 
características e conhecer os principais projetos agregados, adquirir conhecimento para 
a instalação e configuração de uma instância Hadoop e fazer experimentos iniciais de 
contagem de palavras em bases de dados reais.
Caro Aluno(a)!
Normalmente, com a correria do dia a dia, não nos organizamos e deixamos para o 
último momento o acesso ao estudo, o que implicará o não aprofundamento no material 
trabalhado ou, ainda, a perda dos prazos para o lançamento das atividades solicitadas.
Assim, organize seus estudos de maneira que entrem na sua rotina. Por exemplo, você 
poderá escolher um dia ao longo da semana ou um determinado horário todos ou alguns 
dias e determinar como o seu “momento do estudo”.
No material de cada Unidade, há videoaulas e leituras indicadas, assim como sugestões 
de materiais complementares, elementos didáticos que ampliarão sua interpretação e 
auxiliarão o pleno entendimento dos temas abordados.
Após o contato com o conteúdo proposto, participe dos debates mediados em fóruns de 
discussão, pois estes ajudarão a verificar o quanto você absorveu do conteúdo, além de 
propiciar o contato com seus colegas e tutores, o que se apresenta como rico espaço de 
troca de ideias e aprendizagem.
Bons Estudos!
Introdução ao Projeto Hadoop
UNIDADE 
Introdução ao Projeto Hadoop
Introdução ao Tema
Introdução e projetos no Hadoop
Hadoop é o termo usado para se referir a uma família de projetos relacionados, que 
compõe a infraestrutura para computação distribuída e de larga escala de processamento, 
que usa o conceito de Big Data. De acordo com White (2015), Hadoop é a implementação 
para MapReduce e sistema de arquivos distribuído mais utilizado e conhecido.
O MapReduce é um modelo de processamento de dados distribuído e um ambiente 
de execução em clusters de larga escala. Esse modelo divide o processamento em mapas 
e o divide em fases, cada fase se baseia em um par de chave/valor usado como entrada e 
saída para o processo. O programador especifica duas funções, o mapa e as funções de 
redução, para serem usadas na implementação e execução específica (WHITE, 2015).
A biblioteca de software Apache Hadoop é um framework que permite o 
processamento distribuído de grandes conjuntos de dados em clusters de computadores 
que utilizam modelos de programação simples. Ele é projetado para escalar a partir 
de um único servidor para milhares de máquinas, cada um oferecendo computação 
e armazenamento local. Em vez de confiar em hardware para proporcionar maior 
disponibilidade, a biblioteca em si é concebida para detectar e tratar falhas na camada de 
aplicação, de modo a fornecer um serviço altamente disponível no topo de um conjunto 
de computadores, cada um dos quais pode ser propenso a falhas.
O projeto principal é composto por alguns componentes principais, que são:
• Hadoop common: os utilitários e bibliotecas comuns que dão suporte aos outros 
módulos do Hadoop, como por exemplo, fornece sistemas de arquivos, abstrações 
do Sistema Operacional, contém os arquivos e scripts Java necessários para iniciar 
Hadoop.
• Sistema de arquivos distribuídos Hadoop (HDFS): um sistema de arquivos 
distribuídos que fornece acesso de alto débito aos dados do aplicativo.
• Hadoop YARN: uma estrutura para agendamento de trabalho e gerenciamento de 
recursos de cluster.
• Hadoop MapReduce: um sistema baseado em YARN para processamento paralelo 
de grandes conjuntos de dados. Funciona como uma API que permite a criação de 
programas que executarão a divisão e redução das tarefas, executando sempre a 
estrutura de entrada e saída presente no Hadoop. A Figura 1 ilustra a estrutura do 
Map Reduce.
6
7
Figura 1
Fonte: Adaptado de, Shenoy, 2014
Observa-se pela Figura a divisão das tarefas e a posterior agregação dos resultados 
para criar uma única saída.
Segue a Figura 2 que ilustra a estrutura básica do Hadoop e as interações entre os 
principais projetos:
Figura 2
Hadoop Distributed File System (HDFS)
O HDFS é um sistema de arquivos projetado para armazenar arquivos 
extremamente grandes com um padrão de fluxo de acesso, executar sob clusters 
de computadores pessoais ou plataformas de hardware comuns (WHITE, 2015). 
O HDFS é um sistema de arquivos altamente tolerante a falhas projetado para 
executar em hardware padrão de baixo custo; é ideal para armazenar grandes 
quantidades de dados. Permite a conexão de nós contidos nos clusters por meio 
dos quais os arquivos de dados são distribuídos. É possível acessar e armazenar 
os arquivos de dados como um sistema de arquivos contínuo. Seguem algumas 
características a destacar:
7
UNIDADE 
Introdução ao Projeto Hadoop
• Arquivos muito grandes: “Muito grande” neste contexto significa arquivos que são 
centenas de megabytes, gigabytes, ou terabytes de tamanho. Acesso a dados de 
streaming: HDFS é construído em torno da ideia de que o padrão de processamento 
de dados mais eficiente é uma write-once, muitas vezes ler-padrão. Um conjunto 
de dados é tipicamente gerado ou copiado a partir da fonte, em seguida, várias 
análises são realizadas em conjunto de dados ao longo do tempo. Cada análise 
envolve uma grande parte, se não a totalidade, do conjunto de dados, de modo que 
o tempo para ler o conjunto de dados inteiro é mais importante do que a latência 
na leitura do primeiro registro.
• Hardware commodity: O Hadoop não exige hardware caro, hardware altamente 
confiável para executar. Ele foi projetado para ser e xecutado em clusters de 
hardware commodity (hardware comumente disponível de vários fornecedores), 
cuja probabilidade de falha do nó no cluster é elevada, pelo menos para grandes 
clustering. O HDFS é projetado para continuar a trabalhar sem interrupção 
perceptível para o usuário em caso de falha.
Áreas onde HDFS não é bom:
• Acesso de baixa latência de dados: Os aplicativos que requerem acesso 
de baixa latência aos dados, de dezenas de milissegundos, não funcionarão 
bem com HDFS. O HDFS é otimizado para fornecer uma alta taxa de 
transferência de dados, e isto pode ser feito à custa de latência. O HBase é 
a melhor alternativa para o acesso de baixa latência.
• Muitos pequenos arquivos: o namenode contém os metadados do sistema de 
arquivos em memória, o limite para o número de arquivos em um sistema de 
arquivos é regida pela quantidade de memória no namenode. Como regra geral, 
cada arquivo, diretório e bloco utiliza ao menos cerca de 150 bytes. Assim, por 
exemplo, se você tivesse um milhão de arquivos, cada um tendo um bloco, você 
precisaria de pelo menos 300 MB de memória. Enquanto o armazenamento de 
milhões de arquivos é viável, bilhões está além da capacidade de hardware atual.
• Vários escritores, modificações em arquivos: Arquivos em HDFS poderão 
ser escritos por um único escritor. Gravações são feitas necessariamente no final 
do ficheiro. Não há suporte para vários escritores, ou para modificações em 
deslocamentos arbitrários no arquivo. (Estes podem ser suportados no futuro, mas 
eles tendem a ser relativamente ineficientes).
O MapReduce e o HDFS possuem uma API para o desenvolvimento e o uso de suas 
funcionalidades.
8
9
Sub-projetos Hadoop
Seguem alguns dos principais sub-projetos Hadoop:
Apache Pig
Apache Pig é uma plataforma para análise de grandes conjuntos de dados que con-
siste em uma linguagem de alto nível para expressar programas de análise de dados. Ele 
possui a infraestrutura para a avaliação desses programas, sua estrutura é passível de 
paralelização, que por sua vez lhes permite lidar com grandes conjuntosde dados.
O usuário não precisa se preocupar com o desempenho, pois ele próprio faz a otimização.
A camada de linguagem do pig atualmente consiste em uma linguagem textual 
chamado “Pig Latin”, que tem as seguintes propriedades-chave:
• A linguagem utilizada para expressar os fluxos de dados, chamado Pig Latin.
• O ambiente de execução para executar programas na linguagem Latin Pig. 
Atualmente dois ambientes: execução local em uma única JVM e execução 
distribuída em um Cluster Hadoop.
Segue um exemplo simples, basta escrever o programa para calcular o valor máximo 
de temperatura registrada por ano para o conjunto de dados em tempo Pig Latin:
Figura 3
Hive
Um dos maiores ingredientes na plataforma de informação construídos pela equipe 
de Jeff no Facebook foi Hive. Uma estrutura para armazenamento de dados em cima 
do Hadoop, o Hive cresceu a partir de uma necessidade de gerenciar e aprender com 
os grandes volumes de dados que o Facebook estava produzindo todos os dias a partir 
de sua crescente rede social. Depois de tentar alguns diferentes sistemas, a equipe 
optou pelo Hadoop para armazenamento e processamento, uma vez que era rentável e 
atendeu às necessidades de escalabilidade.
O Hive foi criado para torná-lo possível para analistas com fortes habilidades em SQL 
(mas habilidades de programação Java escassas) executar consultas sobre os enormes 
volumes de dados que o Facebook armazenava no HDFS. Hoje Hive é um projeto 
Apache bem sucedido usado por muitas organizações como o propósito de ser uma 
plataforma de processamento de dados escalável.
Seguem alguns exemplos de comandos em Hive:
9
UNIDADE 
Introdução ao Projeto Hadoop
Figura 4
HBase
HBase é um banco de dados distribuído construído sob o HDFS. É a aplicação 
Hadoop para usar quando você precisa em tempo real de leitura/gravação de 
acesso aleatório para grandes conjuntos de dados. O HBASE é um banco de 
dados do tipo NoSQL e não relacional. Como exemplos de NoSQL, além do 
HBASE, temos o MongoDB, o Amazon SimpleDB e o Oracle NoSQL.
Sua melhor aplicabilidade é quando temos uma quantidade de dados muito grande, 
aproveitando assim o potencial do cluster Hadoop/HDFS. Com bases de dados que 
utilizem 5 nós ou mais, o HBASE realmente mostra o seu potencial. Podemos acessar 
os dados armazenados no HBASE através de uma API Java, por linha de comando 
(HBASE Shell), Python, Avro, Rest, Thrift, etc. A maneira mais rápida de acessá-lo é 
usando a API Java, que permite criar tabelas, fazer Put, Get, Scan, Delete, dentro de 
outros comandos.
Segue um exemplo de comando em Hbase:
Figura 5
Zookeeper
Hadoop tem um serviço de coordenação distribuída, chamado ZooKeeper, que 
é um serviço centralizado para manter as informações de configuração, nomeando, 
proporcionando sincronização distribuída e prestação de serviços. Funciona em um 
conjunto de máquinas e é projetado para ser altamente disponível. Ele evita a introdução 
de pontos únicos de falha em seu sistema, para que você possa construir um aplicativo 
confiável. Interações Zookeeper apoia os serviços participantes que não precisam saber 
sobre um outro. Por exemplo, ZooKeeper pode ser utilizado como um mecanismo de 
encontro, de modo que processos que de outra forma não sabem da existência um do 
outro (ou detalhes da rede) possam descobrir e interagir uns com os outros.
10
11
/
/zoo
/zoo/duck /zoo/goat /zoo/cow
Figura 6
Cassandra
Cassandra é uma implementação bancos de dados não relacionais ou NoSQL, que 
suporta o modelo de dados Big Table e usa aspectos de arquitetura introduzidos por 
Amazon Dynamo.
Alguns dos pontos positivos do Cassandra são:
• Alta escalabilidade e disponibilidade, sem um ponto único de falha;
• Implementação de bancos de dados NoSQL;
• Rendimento de gravação muito alto e bom rendimento de leitura;
• Linguagem de consulta semelhante a SQL;
• Consistência ajustável e suporte para replicação;
• Esquema flexível;
Chukwa
É um subprojeto dedicado ao carregamento massivo de vários arquivos de 
texto dentro de um cluster Hadoop (ETL). Chukwa se constrói sob o sistema 
de arquivos distribuído (HDFS) e o marco MapReduce e herda a escalabilidade 
e robustez de Hadoop. Também inclui um conjunto de ferramentas flexível e 
potente para a visualização e análise dos resultados.
11
UNIDADE 
Introdução ao Projeto Hadoop
Ambari
Ambari permite que os administradores do sistema para disposição, 
gerenciamento e monitoramento de um cluster Hadoop, e também para 
integração Hadoop com a infraestrutura corporativa existente. 
Provisionando um cluster Hadoop
• Não importa o tamanho do seu cluster Hadoop, a implantação e a manutenção dos 
exércitos é simplificada usando Ambari. Ambari inclui uma interface Web intuitiva 
que permite que você facilmente disponha, configure e teste todos os serviços do 
Hadoop e componentes principais. Ambari também fornece a poderosa API ambari 
Blueprints para automatizar instalações de cluster, sem a intervenção do usuário.
Gerenciar um cluster Hadoop
• Ambari fornece ferramentas para simplificar o gerenciamento do cluster. A interface 
Web permite-lhe controlar o ciclo de vida de serviços e componentes do Hadoop, 
modificar configurações e gerenciar o crescimento contínuo do seu cluster.
Monitorar um cluster Hadoop
• Ter uma visão instantânea sobre a saúde do seu cluster. Ambari pré-configura alertas 
para assistir serviços Hadoop e visualiza os dados operacionais de cluster em uma 
interface Web simples.
Integrar Hadoop com a Empresa
• Ambari oferece uma API RESTful que permite a integração com as ferramentas 
existentes, como o Microsoft System Center Operations Manager, HP Operations 
Manager e Teradata Ponto de Vista, para mesclar Hadoop com os seus processos 
operacionais estabelecidos.
Segue a Figura 7 que ilustra o relacionamento entre os sub-projetos agregados ao Hadoop.
Zo
oK
ee
pe
r Hive Chuckwa Pig
MapReduce HBase
HDFS
Figura 7
Processo de instalação do Hadoop em um Single Node
Aqui será descrito o processo de instalação e configuração do Hadoop para um único 
nó utilizando o Linux Debian.
• Atualizar o sistema, trocar o perfil do usuário no sistema para administrador (root) 
e digitar os comandos:
12
13
apt-get update
apt-get upgrade
• Como administrador, adicionar um grupo hadoop e um usuário hadoop-user a esse 
grupo, havendo a possibilidade de deixar as informações solicitadas por adduser em 
branco, com exceção da senha:
addgroup hadoop
adduser --ingroup hadoop hadoop-user
• Instalar o Java 8, ainda como administrador do sistema. Remover o openjdk, 
configurar o Java 8:
apt purge openjdk*
 echo “deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty 
main” | tee/etc/apt/sources.list.d/webupd8team-java.list
 echo “deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty 
main” | tee -a /etc/apt/sources.list.d /webupd8team -java.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886
• Mais uma vez atualizar o sistema e instalar:
apt-get update
apt install -y oracle-java8-installer
• Aceitar a licença de software e verificar se a versão correta foi instalada:
java -version
 Configurar a variável de ambiente $JAVA_HOME, ainda usando o usuário 
administrador do sistema:
 sh -c ‘echo “export JAVA_HOME=/usr/local/JDK...” >> /etc/profile’ 
source /etc/profile|
O trecho “JDK...” devem ser trocadas pelo local onde foi instalado o JDK.
• Comunicações do Hadoop são criptografadas via SSH, portanto, o servidor foi 
instalado e configurado:
apt-get install openssh-server
• O hadoop-user foi associado a um par de chaves e subsequentemente concedeu 
o seu acesso à máquina local, para configurar o SSH, havendo a necessidade de 
mudar para o hadoop-user:
su - hadoop-user
ssh-keygen -t rsa -P “”
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
13
UNIDADE 
Introdução ao Projeto Hadoop
• O hadoop-user será capaz de acessar via ssh o localhost sem fornecer senha:
ssh localhost 
• Voltar ao administrador da máquina, fazer o downloaddo Hadoop, descompactar 
e mover para “/usr/local”, adicionar o link usando o nome hadoop, alterando do 
conteúdo para o hadoop-user:
 wget http://mirror.nohup.it/apache/hadoop/common/hadoop-2.7.1/
hadoop-2.7.1.tar.gz
tar xzf hadoop-2.7.1.tar.gz
rm hadoop-2.7.1.tar.gz
mv hadoop-2.7.1 /usr/local
ln -sf /usr/local/hadoop-2.7.1/ /usr/local/hadoop
chown -R hadoop-user:hadoop /usr/localhadoop-2.7.1/
• Mudar para o hadoop-user e adicionar as seguintes linhas no final de ~/.bashrc:
Figura 8
Para que as novas variáveis de ambiente estejam em vigor, é preciso recarregar o 
arquivo .bashrc:
source .bashrc
• Modificar arquivos de configurações dentro /usr/local/hadoop/etc/hadoop. Todos 
eles seguem o formato XML e configuration; as atualizações referem-se ao nó de 
nível superior.  Especificamente:
No arquivo em yarn-site.xml:
Figura 9
No arquivo em core-site.xml:
14
15
Figura 10
• Em mapred-site.xml (likey para ser criado através de cp mapred-site.xml.template 
mapred-site.xml):
Figura 11
No arquivo em hdfs-site.xml:
Figura 12
• Isso requer a criação manual dos dois diretórios especificados nos dois últimos value 
nos XML:
mkdir -p /usr/local/hadoop/yarn_data/hdfs/namenode
mkdir -p /usr/local/hadoop/yarn_data/hdfs/datanode
• Insira o “/usr/local/java/JDK...” na variável JAVA_HOME, no arquivo /usr/local/
hadoop/etc/hadoop/hadoop-env.sh.
• Agora você poderá iniciar o serviço do Hadoop; para isso use o comando:
/usr/local/hadoop/sbin/start-all.sh
• Formatar o sistema de arquivos, operação a ser executada como hadoop-user:
hdfs namenode -format
 Note que a instalação aqui descrita foi para um único nó, porém pode-se encontrar 
facilmente na documentação do Hadoop a instalação e configuração para clusters 
de hadoop.
Por exemplo, no link:
 http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/
ClusterSetup.html
15
UNIDADE 
Introdução ao Projeto Hadoop
O processo é importante como referência para um administrador, porém, há 
inúmeras máquinas virtuais que podem ser baixadas com todas as funcionalidades 
prontas para o uso, como por exemplo, da Cloudera ou Hortonworks. Outra 
alternativa é usar as máquinas prontas nas plataformas de computação em 
nuvem, pois o hadoop está presente em todas as grandes plataformas, como 
Google, IBM, Amazon e Microsoft Azure.
Iniciando com o Hadoop 
O Hadoop possui algumas ferramentas administrativas interessantes que podem 
auxiliar no processo de administração diária.
A URL principal de visualização de informações você pode acessar através do 
endereço: http://IP_HADOOP:50070/
Nesse caso: http://192.168.1.124:50070
Figura 13
Há uma URL q ue permitirá ao administrador visualizar todos os arquivos presentes 
no HDFS, indo em “Utilities/Browse the file system”, conforme se observa na Figura.
Figura 14
Através dos links presentes nessa ferramenta é possível se observar por exemplo, o 
processo de inicialização do hadoop, LOGs, os datanodes e seus respectivos tamanhos 
no sistema de arquivos, dentre outras informações.
16
17
Há ainda uma página de administração que exibe uma série de outras informações a 
respeito das execuções de processamentos no hadoop.
Figura 15
A interface exibe as aplicações em execução e seus respectivos tempo e porcentagem 
de conclusão do processamento.
Alguns comandos para o gerenciamento do HDFS são importantes de o administrador 
conhecer, grande parte herdados de comandos Unix/Linux, como:
• ls para listagem de arquivos;
• rm para remover arquivos;
• rmdir para remover diretórios;
• cat para exibir conteúdos de arquivos;
• cp para copiar arquivos;
• copyFromLocal para enviar um arquivos para o HDFS;
• find para buscar arquivos;
• chmod para editar permissões sobre um arquivo;
• chow para alterar o dono de um arquivo;
• mv para mover um arquivo entre diretórios;
• moveFromLocal para mover um arquivo para o HDFS;
• appendToFile para inserir conteúdos no final do arquivo.
Dentre uma lista completa que se encontra facilmente nos documentos presentes no 
site do fabricante no link:
 http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/
FileSystemShell.html
Exemplo de contagem de palavras com o Hadoop
Vamos a um exemplo trivial de contagem de palavras.
Assume-se que se deve estar autenticado com o usuário hadoop-user em nossa 
instância de Hadoop.
17
UNIDADE 
Introdução ao Projeto Hadoop
O primeiro passo será copiar para o HDFS da instância de Hadoop que estamos 
executando, nesse caso com o seguinte comando:
hadoop fs -copyFromLocal ola.txt /
O comando copia o arquivo ola.txt para a raiz do sistema de arquivos HDFS. Pela 
interface WEB você consegue se certificar que a cópia do arquivo ocorreu, conforme 
pode-se observar na Figura abaixo.
Figura 16
O Conteúdo do arquivo é:
“Olá mundo hadoop.
Cruzeiro do Sul Educação a distância.
Universidade Cruzeiro do Sul.
Professor Alberto.”
Para se certificar que o arquivo foi copiado, você pode acessar a página de navegação 
em arquivos
Nos diretórios de exemplos do hadoop há uma implementação de contagem de 
palavras no arquivo “hadoop-mapreduce-examples-2.7.4.jar”, que está no diretório 
“hadoop/share/hadoop/mapreduce/”.
O comando pode ser executado da seguinte maneira:
hadoop jar hadoop-mapreduce-examples-2.7.4.jar wordcount /ola.txt /ola_output
O comando é dividido da seguinte maneira: “hadoop jar” informando que será 
executado um arquivo no formato jar, nesse caso o “hadoop-mapreduce-examples-
2.7.4.jar”. Os parâmetros seguintes são executar a função “wordcount”, passando 
como parâmetros o arquivo ou diretório de entrada e arquivo de saída.
Para se resgatar o arquivo de saída, pode-se copiá-lo por comando no HDFS ou fazer 
o download através da interface WEB.
18
19
Figura 17
O arquivo de saída, o “part-r-00000”. Segue o arquivo de saída do comando 
executado:
Alberto. 1
Cruzeiro 2
Educação 1
Olá 1
Professor 1
Sul 1
Sul. 1
Universidade 1
a 1
distância. 1
do 2
hadoop. 1
mundo 1
Na primeira coluna o arquivo de saída possui a palavra e na segunda coluna a 
frequência com que a palavra ocorreu no texto. Note que o comando não faz nenhuma 
limpeza ou pré-processamento na base de dados; nesse caso ele diferenciou a palavra 
“sul” de “sul.”
Vamos a um segundo exemplo com uma base de dados real, o primeiro passo será 
baixar a base de dados a qual iremos utilizar na execução de exemplo.
A base de exemplo se trata de uma base de postagem de 50 autores em Blogs, 
ela pode ser baixada no link: https://archive.ics.uci.edu/ml/machine-learning-
databases/00217/C50.zip
19
UNIDADE 
Introdução ao Projeto Hadoop
Descompacte o arquivo C50.zip baixado do site através do comando:
unzip C50.zip
hadoop fs -copyFromLocal C50/ /
Verifique pelo navegador se os arquivos foram copiados, se agora existem as duas 
pastas C50test e C50train, conforme se observa na figura:
Figura 18
Vamos executar o comando de contagem de palavras para um diretório de um dos 
autores e na base de testes.
 hadoop jar hadoop-mapreduce-examples-2.7.4.jar wordcount /C50/C50test/
AaronPressman/ C50/output
Ou caso se queira executar para a base inteira:
 hadoop jar hadoop-mapreduce-examples-2.7.4.jar wordcount /C50/C50test/*/* /
C50/output
Figura 19
Essa execução deve se demorar, tendo em vista o tamanho da base e que o comando 
está sendo executado em uma única instância de Hadoop.
O arquivo de saída poderá ser baixado através da interface WEB do Hadoop.
20
21
Orientações para Leitura Obrigatória
Indicação de Leitura Obrigatória de um artigo do site da IBM que traz uma introdução 
aos projetos Hadoop, bem como alguns exemplos de execução de máquinas virtuais já 
prontas. https://goo.gl/UVUftu
Link de referência com os diversos comandos existentes para o HDFS.
https://goo.gl/tMxgBb
Leitura obrigatória do Ebook free Hadoop Explained presente no link:
https://goo.gl/MC3Edx
21
UNIDADE 
Introdução ao Projeto Hadoop
Material Complementar
Indicações para saber mais sobre os assuntos abordadosnesta Unidade:
 Sites
UCI
Link para download de bases de dados para experimentos BI/Big Data.
https://goo.gl/xvrdyL
Hadoop Cluster Setup
Link de referência de instalação do Hadoop em Cluster.
https://goo.gl/KbH724
MapReduce Tutorial
Link de referência para o Mapreduce em Hadoop e com diversos exemplos de execução 
iniciais.
https://goo.gl/ijyQrM
Conhecendo o Hadoop
Link com descrição do hadoop e os projetos relacionados.
https://goo.gl/ZHGRsW
Introdução ao Hadoop YARN
Link para palestra online que fala sobre o Hadoop e projetos abaixo da comunidade.
https://goo.gl/G7xnUj
22
23
Referências
Aravind Shenoy, Hadoop Explained, Packt Publishing, Mumbai, 2014, acessado em 
12/09/2017, disponível em: https://www.packtpub.com/packt/free-ebook/hadoop-
explained.
QUINTERO D., BOLINCHES L., SUTANDYO A. G., JOLY N., KATAHIRA R. T., 
IBM Data Engine for Hadoop and Spark, IBM RedBooks, 2016, acessado em 
12/09/2017, disponível em http://www.redbooks.ibm.com/redbooks/pdfs/
sg248359.pdf
WHITE, T. (2010). Hadoop: The Definitive Guide. O’Reilly Media
23

Outros materiais