在python中为Hadoop Map Reduce创建自定义可写键/值类型?

问题描述 投票:1回答:1

我已经在Hadoop MR上工作了很长时间,我创建并使用了自定义(扩展)Writable类,包括MapWritable。现在我需要将我用Java编写的相同MR翻译成Python。我没有python的经验,现在正在探索各种库。我正在研究像Pydoop和Mrjob这样的选择。但是,我想知道这些库是否包含创建类似的自定义Writable类以及如何创建它们的选项。如果没有,有什么可能的替代方案可以做同样的事情?

python hadoop mapreduce
1个回答
0
投票

在Pydoop中,对自定义Hadoop类型的明确支持仍然是WIP。换句话说,现在我们并没有让用户轻松工作,但可以通过一些工作来完成。几个指针:

  • Pydoop已经包含自定义Java代码,与Python包一起自动安装为pydoop.jar。我们根据需要将这个额外的jar传递给Hadoop。添加更多Java代码是将源放在src/中并将其列在JavaLib.java_files中的setup.py
  • 在Python方面,您需要针对新类型的反序列化器。比如LongWritableDeserializer中的pydoop.mapreduce.pipes

希望这可以帮助。

© www.soinside.com 2019 - 2024. All rights reserved.