当前位置: 首页 > 知识库问答 >
问题:

Hadoop Streaming简单作业失败错误python

阴福
2023-03-14

我是hadoop和地图还原的新手,我正在尝试编写一个地图还原器,计算单词计数txt文件的前10个计数单词。

我的 txt 文件“q2_result.txt”看起来像:

yourself        268
yourselves      73
yoursnot        1
youst   1
youth   270
youthat 1
youthful        31
youths  9
youtli  1
youwell 1
youwondrous     1
youyou  1
zanies  1
zany    1
zeal    32
zealous 6
zeals   1

映射:

#!/usr/bin/env python

import sys

for line in sys.stdin:
    line = line.strip()
    word, count = line.split()
    print "%s\t%s" % (word, count)

减速机:

#!usr/bin/env/ python

import sys

top_n = 0
for line in sys.stdin:
    line = line.strip()
    word, count = line.split()

    top_n += 1
    if top_n == 11:
        break
    print '%s\t%s' % (word, count)

我知道你可以在Hadoop jar命令中将一个标志传递给-D选项,这样它就会按照你想要的键进行排序(在我的情况下,计数是k2,2),这里我只是先使用一个简单的命令:

hadoop jar /usr/hdp/2.5.0.0-1245/hadoop-mapreduce/hadoop-streaming-2.7.3.2.5.0.0-1245.jar -file /root/LAB3/mapper.py -mapper mapper.py -file /root/LAB3/reducer.py -reducer reducer.py -input /user/root/lab3/q2_result.txt -output /user/root/lab3/test_out

所以我认为这样简单的映射器和缩减器不应该给我错误,但是它给了我错误,我不知道为什么,错误在这里:http://pastebin.com/PvY4d89c

(我在Ubuntu16.04上的虚拟盒子上使用Horton works HDP沙盒)

共有1个答案

蒋岳
2023-03-14

我知道,“文件未找到错误”的意思与“文件无法执行”完全不同,在这种情况下,问题是文件无法执行。

在Reducer.py中:

错误的:

#!usr/bin/env/ python

对的:

#!/usr/bin/env python
 类似资料:
  • 我们的一些数据流作业在读取源数据文件时随机崩溃。 作业日志中写入了以下错误(workers日志中没有任何内容): 我们有时也会遇到这种错误(登录在工人日志中): 源数据文件存储在谷歌云存储中。 数据路径正确,作业通常在重新启动后工作。我们直到一月底才遇到这个问题。 使用以下参数启动作业:--tempLocation='gstoragelocation'--stagingLocation='Othe

  • 我有两个简单的Flink流式作业,从Kafka读取,做一些转换,并将结果放入Cassandra sink。他们从不同的Kafka主题阅读,并存入不同的卡桑德拉表。 当我单独运行这两个工作中的任何一个时,一切都很好。检查点被触发并完成,数据被保存到Cassandra。 我找不到关于这个错误的很多信息,它可能是由下列任何一个引起的: Flink(V1.10.0-Scala2.12), Flink Ca

  • 我想在阿兹卡班经营蜂巢工作

  • 我目前正在尝试为一个项目设置Elasticsearch。我已经安装了,还安装了Java,即。 但是当我尝试使用以下命令启动Elasticsearch时 我得到以下错误 loaded:loaded(/usr/lib/systemd/system/elasticsearch.service;disabled;vend 活动:自世界协调时2019-11-01 06:09:54开始失败(结果:退出-代码)

  • 问题内容: 我正在将当前项目的大型应用程序移至Android Studio和Gradle中。我目前陷入以下问题: 我尝试将以下属性添加到主文件: 这些属性定义都不起作用。我究竟做错了什么? 问题答案: 试试看: 将此添加到 将此添加到 基于此,它应该覆盖所有元素。“将低优先级声明替换为带注释的声明。”

  • 我在移动我目前的项目巨大的应用程序到Android Studio和Gradle的过程中。我目前被困在以下问题上: 我尝试将以下属性添加到主文件中: 这些属性定义都不起作用。我做错了什么?