用 Hadoop 进行分布式数据处理,第 1 部分: 入门
2010-06-08 00:00:00 来源:WEB开发网处理结束之后,检查结果。这个作业的作用是计算单词在输入文件中出现的次数。输出是一个包含元组的文件,元组表示单词和它在输入中出现的次数。找到输出文件之后,可以通过 hadoop-0.20 实用程序使用 cat 命令查看数据(见清单 7)。
清单 7. 检查 MapReduce wordcount 操作的输出
# hadoop-0.20 fs -ls /user/root/output
Found 2 items
drwxr-xr-x - root supergroup 0 2010-04-29 17:36 /user/root/output/_logs
-rw-r--r-- 1 root supergroup 30949 2010-04-29 17:37 /user/root/output/part-r-00000
#
# hadoop-0.20 fs -cat output/part-r-00000 | head -13
!= 1
"Atomic 2
"Cache 2
"Control 1
"Examples 1
"Has 7
"Inter-CPU 1
"LOAD 1
"LOCK" 1
"Locking 1
"Locks 1
"MMIO 1
"Pending 5
#
还可以使用 hadoop-0.20 实用程序从 HDFS 中提取文件(见清单 8)。只需使用 get 实用程序(它与前面在 HDFS 中写文件所用的 put 相似)。对于 get 操作,指定 HDFS 中要提取的文件(来自 output 子目录)和在本地文件系统中要写的文件 (output.txt)。
清单 8. 从 HDFS 提取输出
# hadoop-0.20 fs -get output/part-r-00000 output.txt
# cat output.txt | head -5
!= 1
"Atomic 2
"Cache 2
"Control 1
"Examples 1
#
我们再来看一个示例,它使用相同的 JAR,但是目的不同(在这里要试验并行的 grep)。对于这个测试,仍然使用现有的输入文件,但是要删除 output 子目录以便在测试时重新创建它:
更多精彩
赞助商链接