首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过Hadoop Streaming运行Python脚本时,得到"ValueError: No Json object via be decoded“

通过Hadoop Streaming运行Python脚本时,得到"ValueError: No Json object via be decoded“
EN

Stack Overflow用户
提问于 2015-11-04 23:21:18
回答 1查看 231关注 0票数 0

我正在尝试通过流在Hadoop上运行一个简单的python mapreduce脚本。映射器部分加载一个json文档,从一个属性中读取文本,并将文本中的每个单词用1表示,稍后将由脚本的缩减部分求和。代码在Hadoop之外运行得很好。一旦提交到Hadoop,映射就会失败,并显示"ValueError: No Json object map be decoded“。错误行是带有"json.loads()“函数的那行。我完全被这事难住了。我正在尝试运行的Hadoop生态系统是安装了Python2.6.6的HortonWorks沙箱。其他人也遇到过类似的问题吗?

EN

回答 1

Stack Overflow用户

发布于 2015-11-10 23:03:07

嗯,在对脚本进行了大量修改之后,我发现执行以下操作时问题就消失了:

在映射器和缩减程序文件的顶部使用#!/usr/bin/env python2

  • 。在发出Hadoop execution.
  • Using命令时,此shebang特别指定了Python运行时的2.X版本,用于使用以下符号:

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>

应用这些修改后,问题不再出现。去想一想!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33525524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档