2008年6月17日星期二

Python与Hadoop

“Hadoop,一个全世界都在关注的项目。包括Google和IBM,Yahoo用Hadoop让大学来培训分布式计算的学生。IBM用其来做Cloud Computing 。Yahoo用它来做基础结构Yahoo搜索等。”

以上转贴Hadoop研究,一个研究讨论hadoop的中文平台。

Hadoop原来是Apache Lucene下的一个子项目,它最初是从Nutch项目中分离出来的专门负责分布式存储以及分布式运算的项目。简单地说来,Hadoop是一个可以更容易开发和运行处理大规模数据的软件平台。不过Hadoop是基于Java语言的,要想让Python也能用上Hadoop,有两种方法:一是利用Jpython将python编译为java代码,另一种方式则是使用Hadoop Streaming帮 助我们用非Java的编程语言使用MapReduce,Streaming用STDIN (标准输入)和STDOUT (标准输出)来和我们编写的Map和Reduce进行数据的交换数据。任何能够使用STDIN和STDOUT都可以用来编写MapReduce程序,比如 用Python的sys.stdin和sys.stdout。

这篇文章详细介绍了使用Hadoop streaming的方法。


没有评论: