我阅读了 Hadoop in Action 并发现在Java
使用MultipleOutputFormat
和MultipleOutputs
类中我们可以将数据减少到多个文件,但我不确定如何使用Python streaming
.
例如:
/ out1/part-0000
mapper -> reducer
\ out2/part-0000
如果有人知道,听说过,做过类似的事情,请告诉我
我阅读了 Hadoop in Action 并发现在Java
使用MultipleOutputFormat
和MultipleOutputs
类中我们可以将数据减少到多个文件,但我不确定如何使用Python streaming
.
例如:
/ out1/part-0000
mapper -> reducer
\ out2/part-0000
如果有人知道,听说过,做过类似的事情,请告诉我
Dumbo Feathers是一组与Dumbo一起使用的 java 类(一个 python 库,可以很容易地为 hadoop 编写高效的 python M/R 程序),它在其输出类中执行此操作。
基本上,在您的 python dumbo M/R 作业中,您输出的键是两个元素的元组 - 第一个元素是要输出到的目录的名称,第二个元素是实际的键。您选择的输出类然后检查元组以查找要使用的输出目录,并使用 MultipleOutputFormat 写入不同的子目录。
使用小飞象,由于使用 typedbytes 作为输出格式,这很容易,但我认为即使您有其他输出格式也应该可行。