例子1: 统计一个文本文件里的单词数量java
[hadoop@mylinux ~]$ cd hadoop-0.20.2/
[hadoop@mylinux hadoop-0.20.2]$ mkdir input #在本地系统创建目录 input
[hadoop@mylinux hadoop-0.20.2]$ cd input #进入input目录
[hadoop@mylinux input]$ vi file01 #新建一个文件file01
hello hadoop
this is first examples by huxin
hadoop
[hadoop@mylinux hadoop-0.20.2]$ cd
[hadoop@mylinux ~]$ cd hadoop-0.20.2/
[hadoop@mylinux hadoop-0.20.2]$ hadoop fs -mkdir input 在hadoop文件系统中创建目录input,注意和上面的本地系统目录input区分开
[hadoop@mylinux hadoop-0.20.2]$ hadoop fs -put ./input/file01 input #将本地的file01放进hadoop文件系统的目录中
[hadoop@mylinux hadoop-0.20.2]$ hadoop fs -ls input
Found 1 items
-rw-r--r-- 1 hadoop supergroup 54 2011-06-22 19:25 /user/hadoop/input/file01
[hadoop@mylinux hadoop-0.20.2]$ hadoop jar hadoop-0.20.2-examples.jar wordcount input output #对hadoop文件系统进行count单词数,完成后自动生成一个output目录
[hadoop@mylinux hadoop-0.20.2]$ hadoop fs -ls output
Found 2 items
drwxr-xr-x - hadoop supergroup 0 2011-06-22 19:26 /user/hadoop/output/_logs
-rw-r--r-- 1 hadoop supergroup 61 2011-06-22 19:26 /user/hadoop/output/part-r-00000
[hadoop@mylinux hadoop-0.20.2]$ hadoop fs -cat output/part-r-00000 #查看part-r-00000
by 1
examples 1
first 1
hadoop 2
hello 1
huxin 1
is 1
this 1
-----------------------
Done!linux
Wordcount源码是在src/examples/org/apache/hadoop/examples/WordCount.java这里。
下面咱们来手动编译和执行一遍这段原代码吧:
[hadoop@mylinux ~]$ cd hadoop-0.20.2/
[hadoop@mylinux hadoop-0.20.2]$ mkdir playground
[hadoop@mylinux hadoop-0.20.2] $mkdir playground/src
[hadoop@mylinux hadoop-0.20.2]$ mkdir playground/classes
[hadoop@mylinux hadoop-0.20.2]$ cp src/examples/org/apache/hadoop/examples/WordCount.java playground/src/WordCount.java
[[hadoop@mylinux hadoop-0.20.2]$ javac -classpath hadoop-0.20.2-core.jar:lib/commons-cli-1.2.jar -d playground/classes/ playground/src/WordCount.java
[hadoop@mylinux hadoop-0.20.2]$ jar -cvf playground/wordcount.jar -C playground/classes/ .
[hadoop@mylinux hadoop-0.20.2]$ hadoop fs -rmr output #记得先删除前面咱们创建过的output目录
Deleted hdfs://master:9000/user/hadoop/output
[hadoop@mylinux hadoop-0.20.2]$ hadoop jar playground/wordcount.jar org.apache.hadoop.examples.WordCount input output
[hadoop@mylinux hadoop-0.20.2]$ hadoop fs -ls output
Found 2 items
drwxr-xr-x - hadoop supergroup 0 2011-06-22 19:55 /user/hadoop/output/_logs
-rw-r--r-- 1 hadoop supergroup 61 2011-06-22 19:55 /user/hadoop/output/part-r-00000
[hadoop@mylinux hadoop-0.20.2]$ hadoop fs -cat output/part-r-00000 #查看part-r-00000
by 1
examples 1
first 1
hadoop 2
hello 1
huxin 1
is 1
this 1
-----
doneapache