我正在尝试通过流在Hadoop上运行一个简单的python mapreduce脚本。映射器部分加载一个json文档,从一个属性中读取文本,并将文本中的每个单词用1表示,稍后将由脚本的缩减部分求和。代码在Hadoop之外运行得很好。一旦提交到Hadoop,映射就会失败,并显示"ValueError: No Json object map be decoded“。错误行是带有"json.loads()“函数的那行。我完全被这事难住了。我正在尝试运行的Hadoop生态系统是安装了Python2.6.6的HortonWorks沙箱。其他人也遇到过类似的问题吗?
发布于 2015-11-10 23:03:07
嗯,在对脚本进行了大量修改之后,我发现执行以下操作时问题就消失了:
在映射器和缩减程序文件的顶部使用#!/usr/bin/env python2的
hadoop jar hadoop-streaming.jar -files mapper.py,reducer.py -mapper 'python mapper.py' -reducer 'python reducer.py' -input <hdfs path to input file(s)> -output <hdfs path to output directory>
应用这些修改后,问题不再出现。去想一想!
https://stackoverflow.com/questions/33525524
复制相似问题