Pydoop mapreduce“AttributeError:module'wordcount_minimal'没有属性'__main__'”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pydoop mapreduce“AttributeError:module'wordcount_minimal'没有属性'__main__'”相关的知识,希望对你有一定的参考价值。

我安装了Pydoop,我正在尝试运行MapReduce工作。为了做一个干运行,我尝试执行单词计数示例wordcount_minimal.pywordcount_full.py。它们都挂在地图阶段。在stderr的最后,我根据我运行的脚本找到了这条消息:

模块'wordcount_minimal'没有属性'main'

要么

模块'wordcount_full'没有属性'main'

我使用命令执行了该作业:

pydoop submit --upload-file-to-cache wordcount_full.py wordcount_full hdfs_input_dir hdfs_output_dir

无法找到背后的原因。任何想法可能是什么原因?

我能够使用pydoop scriptmap函数从reduce执行示例,并且它已成功完成。但是使用pydoop submit选项,我有这个问题。不确定我是否遗漏了什么。

PS:我有一个运行Hortonworks HDP 2.6.5的2个节点的集群。 Pydoop安装在它们上面。

答案

默认情况下,pydoop submit需要一个名为__main__的入口点,但您可以通过--entry-point修改它。例如,如果您的代码是:

class Mapper ...
class Reducer ...
def run():
    pipes.run_task(pipes.Factory(Mapper, Reducer))

你可以通过pydoop submit --entry-point run ...运行它

以上是关于Pydoop mapreduce“AttributeError:module'wordcount_minimal'没有属性'__main__'”的主要内容,如果未能解决你的问题,请参考以下文章

我如何使用Python API Pydoop得到Hadoop集群中的实际数据(地图后减少)?

CentOS 6 上的 Pydoop 安装

sql Attribut选项Sql Select

相当于 django 上的 entry.objects.filter(foreignkey__attribut='x') 和 .get()

如何添加 element with a href attribut in multipleelement? [duplicate]

Java–cvc-complex-type.4:Attribut ‘version’ must appear on element ‘web-app’