用 Hadoop 进行分布式数据处理,第 3 部分: 应用程序开发
2010-08-11 00:00:00 来源:WEB开发网最后,通过 hadoop 实用工具使用 cat 文件系统操作来探索输出(请参考清单 11)。
Listing 11. Exploring the Hadoop output
# hadoop fs -ls /user/root/output
Found 2 items
drwxr-xr-x - root supergroup 0 2010-06-04 17:42 /user/root/output/_logs
-rw-r--r-- 1 root supergroup 23014 2010-06-04 17:43 /user/root/output/part-00000
# hadoop fs -cat /user/root/output/part-00000 | head -12
+--->| 4
immediate 2
Alpha) 1
enable 1
_mandatory_ 1
Systems 1
DMA. 2
AMD64 1
{*C,*D}, 2
certainly 2
back 2
this 23
#
在不到 30 行的脚本中,您已经在 Hadoop 框架内实现了 map 和 reduce 元素并演示了它们的执行。虽然是一个简单的示例,但是通过自定义的和专有的算法说明了 Hadoop 背后真实的力量以及为什么 Hadoop 正在成为一种用于处理大型数据集的流行框架。
Hadoop 的其他应用程序
Hadoop 可用于许多应用程序上,其已超越了为大型数据集简单计算字数的工作。所有这一切的需要就是用矢量格式表达 Hadoop 基础设施可以使用的数据。虽然规范的示例使用矢量表达作为键和值,但是并没有限制您如何来定义值(例如一些值的汇总)。在更加丰富的应用程序集中此灵活性可以为 Hadoop 创造新的机会。
一个一直适合 MapReduce 字数统计模型的有趣的应用程序正在把 Web 服务器访问的频率制表(在开创性 Google 文章中讨论)。对于此应用程序来说,URL 作为键来服务(从 Web 服务器访问日志摄取)。reduce 过程的结果是基于 Web 服务器日志的给定 Web 站点的每次 URL 访问的总数。
更多精彩
赞助商链接