sábado, 5 de outubro de 2013

Usando HDFS Command Line

Muito Boa Tarde Pessoas,

Faz tempo que não escrevo nada, andei em modo zombie on :) mas o motivo tem haver com as nuvens.

Logo vou colocar bastante posts sobre hadoop, hive, sqoop e aws...

Os comandos abaixo são para quem está começando a usar Apache Hadoop e quer dar uns comandos no HDFS (Hadoop Distributed File System)

Primeira coisa, o hdfs é um file system "write once", ou seja, escreveu a primeira vez no hdfs não é mais possível alterá-lo, apenas removê-lo.
Para acessar o dhfs é preciso sempre colocar "hadoop fs-" na frente do comando.

Exemplo, estou no meu diretório linux /root e tenho um arquivo chamado gnomo.txt e não tenho nada no dhfs e quero mandar esse arquivo pra lá:
 
# ls 
#gnomo.txt 

--Dhfs

#hadoop fs -ls

Criar diretório gnomo no dhfs:

# hadoop fs -mkdir gnomo 

Enviar arquivo gnomo.txt para o dhfs

# hadoop fs -put /root/gnomo.txt gnomo 
# hadoop fs -ls gnomo
# Found 1 item  
   gnomo.txt 

Recuperar arquivo do dhfs para sua pasta local

#hadoop fs -get /gnomo/gnomo.txt

Ler arquivo no hdfs

#hadoop fs -more /gnomo/gnomo.txt

Remover arquivo dhfs 

#hadoop fs -rm -r /gnomo/gnomo.txt

Sem problemas certo, pode usar tranquilamente shell com comando hadoop, um exemplo é criar um pipe para desomprimir um arquivo enquanto envia para o dhfs: 

# gunzip --best gnomo.gz | hadoop fs -put - gnomo/gnomo.txt

É possível minha aplicação escrever direto no hdfs?  Sim, através de api java.

https://sites.google.com/site/hadoopandhive/home/how-to-write-a-file-in-hdfs-using-hadoop

Vida Longa e Próspera !
 
 []´s


Nenhum comentário:

Postar um comentário