Para colocar um arquivo no HDFS, você pode usar o comando put
, conforme mostrado em:
hadoop fs -put path-in-your-local-filesystem path-in-HDFS
Observe que, se você quiser colocar seu arquivo em um novo diretório no HDFS, put
não criará o próprio diretório. Você precisa mkdir
primeiro, como mostrado: ( -p
para criar diretórios-pais conforme necessário)
hadoop fs -mkdir -p /user/input
hadoop fs -put /home/hduser/Desktop/input-file /user/input
(assumindo que o arquivo de entrada foi salvo na área de trabalho do hduser)
Para realizar computações no arquivo usando o Hadoop, você precisa escrever map
e reduce
functions. Eu sugiro que você comece com o programa Word Count para começar a aprender MapReduce Programming. Você pode se referir ao Hadoop: The Definitive Guide.
Em seguida, você precisa compilar seu arquivo de origem java (digamos WordCount.java) usando:
sudo javac -classpath /usr/local/hadoop/share/hadoop/common/hadoop-common-2.6.0.jar:/usr/local/hadoop/share/hadoop/common/lib/hadoop-annotations-2.6.0.jar:/usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.6.0.jar WordCount.java
Em seguida, crie um arquivo jar com todas as classes usando
jar -cvf wc WordCount*.class
em que wc é o nome do jarro recém-criado.
Em seguida, execute o programa usando
hadoop jar jar-name main-class-name input-path-in-HDFS output-path-in-HDFS
Para este exemplo, você pode usar
hadoop jar wc WordCount /user/input/input-file /user/output
Ele criará o diretório de saída automaticamente no HDFS.