2013-03-12 81 views
0

我正在Python中编写MapReduce作业,并且想要使用第三个库,如chardetHadoop:如何在Python中包含第三方库MapReduce

我知道我们可以使用选项-libjars=...将它们包含在java MapReduce中。

但是如何在Python MapReduce Job中包含第三方库?

谢谢!

+0

使用'import'语句吗? – MattDMo 2013-03-12 03:52:34

+0

谢谢你的回复。我已经尝试过,但没有工作。它显示'错误streaming.StreamJob:作业不成功。错误:NA' – thomaslee 2013-03-12 03:54:51

+0

也许如果您发布了一些示例代码,您遇到的错误以及您为获得这些错误所做的工作,我们可能会进一步提供帮助。 – MattDMo 2013-03-12 03:58:00

回答

1

问题已由zipimport解决。

然后我压缩chardet到文件module.mod,像这样使用:

importer = zipimport.zipimporter('module.mod') 
chardet = importer.load_module('chardet') 

在Hadoop的数据流命令添加-file module.mod

现在可以在脚本中使用chardet

更多详细信息显示在:How can I include a python package with Hadoop streaming job?

相关问题