在python中为Hadoop Map Reduce创建自定义可写键/值类型?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在python中为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
中 - 在Python方面,您需要针对新类型的反序列化器。比如
LongWritableDeserializer
中的pydoop.mapreduce.pipes
。
希望这可以帮助。
以上是关于在python中为Hadoop Map Reduce创建自定义可写键/值类型?的主要内容,如果未能解决你的问题,请参考以下文章