[英]Create custom writable key/value type in python for Hadoop Map Reduce?
我从事Hadoop MR已有一段时间,并且创建和使用了自定义(扩展) Writable
类,包括MapWritable
。 现在,我需要将用Java编写的MR转换为Python。 我没有python的经验,现在正在探索相同的各种库。 我正在研究Pydoop和Mrjob之类的选项。 但是,我想知道这些库是否包含创建类似的自定义Writable
类的选项以及如何创建它们。 如果没有,那么有什么可能的替代方法可以做到这一点?
在Pydoop中,对自定义Hadoop类型的显式支持仍然是WIP 。 换句话说,目前我们并没有为用户简化事情,但是可以通过一些工作来完成。 几个指针:
Pydoop已经包含自定义Java代码,该代码与Python软件包一起自动安装为pydoop.jar
。 我们根据需要将此额外的jar传递给Hadoop。 添加更多Java代码只需将源代码放在src/
并将其JavaLib.java_files
在setup.py
中的JavaLib.java_files
中JavaLib.java_files
。
在Python方面,您需要为新类型使用反序列化器。 例如,请参见LongWritableDeserializer
中的pydoop.mapreduce.pipes
。
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.