5

我阅读了 Hadoop in Action 并发现在Java使用MultipleOutputFormatMultipleOutputs类中我们可以将数据减少到多个文件,但我不确定如何使用Python streaming.

例如:

                  / out1/part-0000
mapper -> reducer   
                  \ out2/part-0000

如果有人知道,听说过,做过类似的事情,请告诉我

4

1 回答 1

2

Dumbo Feathers是一组与Dumbo一起使用的 java 类(一个 python 库,可以很容易地为 hadoop 编写高效的 p​​ython M/R 程序),它在其输出类中执行此操作。

基本上,在您的 python dumbo M/R 作业中,您输出的键是两个元素的元组 - 第一个元素是要输出到的目录的名称,第二个元素是实际的键。您选择的输出类然后检查元组以查找要使用的输出目录,并使用 MultipleOutputFormat 写入不同的子目录。

使用小飞象,由于使用 typedbytes 作为输出格式,这很容易,但我认为即使您有其他输出格式也应该可行。

于 2011-09-29T19:22:41.427 回答