Hive, Pig, Scalding, Scoobi, Scrunch 和 Spark等hadoop框架比较

12-03-27 banq
                   

AI Computer Vision: Hive, Pig, Scalding, Scoobi, Scrunch and Spark

Pig:

Pig是一种数据流(Data flow/ETL)系统,由yahoo创建,PIG脚本很精确,可以通过脚本或交互两种方式使用,可以将Pig脚本嵌入Python,如同Jython运行,Pig是Hadoop生态系统中使用量比较大的系统。

Pig存在问题是,Pig Lantin是一种新的语言,不是一种完整编程语言,而是只是一个数据流语言,如果你希望做些语言不直接支持的功能,就需要用Java写些UDF(用户自定义函数)。Pig Latin语言上好像感觉不是很整齐。

Scalding:

这是由Twiter创建的使用Scala编写的框架,在http://blog.echen.me/2012/02/09/movie-recommendations-and-more-via-mapreduce-and-scalding/可以看到其代码应用。

存在问题:通过Ruby构建脚本scald.rb调用Scalding,并不支持Mac等OS,文档少,其基础构件Cascading有很好的文档。

Scalding有一些事先定义好的聚合函数,如Sum和Count,但是Sum好像只支持Numerical数值型。 使用Group构建器可以实现自己的聚合函数。

Scoobi:

由OpenNICTA创建使用Scala语言,很简单强大,使用Scala构建系统SBT很容易构建。

待续...

                   

4