首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ubuntu独立的本地hadoop集群中运行mrjob库python映射减少

如何在ubuntu独立的本地hadoop集群中运行mrjob库python映射减少
EN

Stack Overflow用户
提问于 2020-11-16 16:47:53
回答 1查看 333关注 0票数 0

我看了文档,上面说这是给aws的,gcp的。但他们也在内部使用它,这是正确的。因此,应该有一种方法使其在我们自己的虚拟盒中本地创建的hadoop集群中运行。

理解代码中如何使用mrjob的一些代码:

代码语言:javascript
复制
class MovieSimilar(MRJob):
 def mapper_parse_input(self, key, line):
    (userID, movieID, rating, timestamp) = line.split('\t')
    yield  userID, (movieID, float(rating))
    ..........
    ..........
if __name__ == '__main__':
  MovieSimilar.run()

使用和普通python代码,我能够运行python不接受命令行中的数据集位置,并且给出解压缩所需的两个以上的值。这个错误是因为它不能接受给定的-input标志的日期设置。

我使用的shell命令:-

代码语言:javascript
复制
bin/hadoop jar /usr/local/Cellar/hadoop/3.1.0/libexec/share/hadoop/tools/lib/hadoop-
streaming.jar \
-file /<path_to_mapper>/MovieSimilar.py \
-mapper /<path_to_mapper>/MovieSimilar.py \
-reducer /<path_to_reducer>/MovieSimilar.py  \
-input daily/<dataset-file>.csv \
-output daily/output

注意:-每日是我的hdfs目录,其中存储数据集和程序结果。

我收到的错误消息:-解压缩所需的两个以上的值

EN

Stack Overflow用户

回答已采纳

发布于 2020-11-19 15:17:18

说这是为aws,gcp

这些就是例子。它不是为那些人准备的。注意运行作业的-r local-r hadoop标志

https://mrjob.readthedocs.io/en/latest/guides/runners.html#running-on-your-own-hadoop-cluster

应该有一种方法让它在我们自己的本地创建的hadoop集群中运行,在我们自己的虚拟盒中

设置HADOOP_HOMEHADOOP_CONF_DIR xml文件以指向要对其运行代码的集群,然后使用-r hadoop runner标志,它将使用hadoop二进制文件和hadoop流jar文件查找并运行代码。

more than 2 values required to unpack.这个错误是因为它不能接受给定的-input标志的日期设置。

无法看到您的输入,但是如果任何行上有少于三个制表符,则这一行将导致错误(并且您不需要使用等号的括号)。

代码语言:javascript
复制
(userID, movieID, rating, timestamp) = line.split('\t')

我建议首先使用本地/内联运行程序测试代码。

我使用的shell命令:- bin/hadoop jar /usr/local/Cellar/hadoop/3.1.0/libexec/share/hadoop/tools/lib/hadoop- streaming.jar

约伯先生会为你建造和提交的。

您只需要使用输入文件运行python MovieSimilar.py即可。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64862115

复制
相关文章

相似问题

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