Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python程序中运行pydoop任务_Python_Python 2.7_Hadoop - Fatal编程技术网

在Python程序中运行pydoop任务

在Python程序中运行pydoop任务,python,python-2.7,hadoop,Python,Python 2.7,Hadoop,这里有许多示例演示如何从shell运行PyDoop脚本,但我需要在python系统的函数中运行PyDoop任务 下面是函数的示例: def mrb2(inp, out): class CountMapper(api.Mapper): def map(self, context): context.emit(context.value.split()[0], 1) class CheckReducer(api

这里有许多示例演示如何从shell运行PyDoop脚本,但我需要在python系统的函数中运行PyDoop任务

下面是函数的示例:

def mrb2(inp, out):
        class CountMapper(api.Mapper):
            def map(self, context):
                context.emit(context.value.split()[0], 1)

        class CheckReducer(api.Reducer):
            def reduce(self, context):
                context.emit(context.key, sum(context.values))

        pipes.run_task(api.Factory(CountMapper, CheckReducer), istream=inp, ostream=out)
inp
out
打开纯文本文件:

with open('input.txt') as inp, open('output.txt', 'w') as out:
     ...
但是,当我尝试运行时,会出现一个错误:

pipes.run_task(api.Factory(CountMapper, CheckReducer), istream=inp, ostream=out)
TypeError: object() takes no parameters
我做错了什么

p.S.模块
api
管道
pydoop.mapreduce
导入