2024-05-13 23:39:39 发布
网友
我在Hadoop MR上工作了相当长的一段时间,我创建并使用了自定义(扩展)Writable类,包括MapWritable。现在我需要将我用Java编写的MR翻译成Python。我没有python方面的经验,现在正在探索各种库。我正在研究一些选项,比如Pydoop和Mrjob。但是,我想知道这些库是否包含创建类似的自定义Writable类的选项,以及如何创建它们。如果没有,有什么可能的替代方法来做同样的事情?你知道吗
Writable
MapWritable
在Pydoop中,对自定义Hadoop类型的显式支持仍然是WIP。换言之,现在我们并没有为用户提供方便,但是可以通过一些工作来完成。几点提示:
Pydoop已经包含了定制的Java代码,作为pydoop.jar与Python包一起自动安装。我们根据需要将这个额外的jar传递给Hadoop。添加更多的Java代码就是将源代码放在src/中,并将其列在JavaLib.java_files中setup.py
pydoop.jar
src/
JavaLib.java_files
setup.py
在Python方面,新类型需要反序列化程序。例如参见pydoop.mapreduce.pipes中的LongWritableDeserializer。
pydoop.mapreduce.pipes
LongWritableDeserializer
希望这有帮助。你知道吗
在Pydoop中,对自定义Hadoop类型的显式支持仍然是WIP。换言之,现在我们并没有为用户提供方便,但是可以通过一些工作来完成。几点提示:
Pydoop已经包含了定制的Java代码,作为
pydoop.jar
与Python包一起自动安装。我们根据需要将这个额外的jar传递给Hadoop。添加更多的Java代码就是将源代码放在src/
中,并将其列在JavaLib.java_files
中setup.py
在Python方面,新类型需要反序列化程序。例如参见
pydoop.mapreduce.pipes
中的LongWritableDeserializer
。希望这有帮助。你知道吗
相关问题 更多 >
编程相关推荐