我在hadoop mr上工作了很长一段时间,并且创建并使用了custom(扩展) Writable 课程包括 MapWritable . 现在我需要把我用Java编写的同一个MR翻译成Python。我在python方面没有经验,现在正在为同一个项目探索各种库。我正在研究一些选择,比如 菩提树 和 MR作业 . 但是,我想知道这些库是否包含创建类似自定义的选项 可写的 类以及如何创建它们。如果没有,有什么可能的替代方法可以做到这一点?
Writable
MapWritable
可写的
在Pydoop, 明确的 仍然支持自定义Hadoop类型 WIP . 换言之,现在我们并不是让用户轻松地完成任务,但只需要一点工作就可以完成。几个指针:
PydoPoP已经包含自定义Java代码,与Python包一起自动安装为 pydoop.jar . 我们根据需要把这个额外的罐子传给Hadoop。添加更多的Java代码是将源放在 src/ 把它列在 JavaLib.java_files 在里面 setup.py
pydoop.jar
src/
JavaLib.java_files
setup.py
在Python方面,新类型需要反序列化程序。例如,请参见 LongWritableDeserializer 在里面 pydoop.mapreduce.pipes .
LongWritableDeserializer
pydoop.mapreduce.pipes
希望这有帮助。