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

在Google Cloud Dataproc环境中使用Hadoop流运行python map reduce作业时出错

狄玮
2023-03-14

我想使用hadoop流方法在Google Cloud Dataproc中运行python map reduce作业。My map reduce python脚本、输入文件和作业结果输出都位于谷歌云存储中。

hadoop jar /usr/lib/hadoop-mapreduce/hadoop-streaming.jar -file gs://bucket-name/intro_to_mapreduce/mapper_prod_cat.py -mapper gs://bucket-name/intro_to_mapreduce/mapper_prod_cat.py -file gs://bucket-name/intro_to_mapreduce/reducer_prod_cat.py -reducer gs://bucket-name/intro_to_mapreduce/reducer_prod_cat.py -input gs://bucket-name/intro_to_mapreduce/purchases.txt -output gs://bucket-name/intro_to_mapreduce/output_prod_cat

文件:/home/ramaadhitia/gs:/bucket-name/intro_to_mapreduce/mapper_prod_cat.py不存在或不可读。

Try-帮助获取更多信息流命令失败!

云连接器在hadoop流中不起作用了吗?有没有其他的方法来运行python map reduce作业,使用带有python脚本和位于Google云存储中的输入文件的hadoop流?

共有1个答案

羊舌新荣
2023-03-14

hadoop-streaming中的-file选项仅适用于本地文件。但是,请注意,它的帮助文本提到-file标志不推荐使用,而使用一般的-file选项。使用一般的-files选项允许我们指定要stage的远程(hdfs/gs)文件。还请注意,泛型选项必须在应用程序特定的标志之前。

您的调用将变为:

hadoop jar /usr/lib/hadoop-mapreduce/hadoop-streaming.jar \
    -files gs://bucket-name/intro_to_mapreduce/mapper_prod_cat.py,gs://bucket-name/intro_to_mapreduce/reducer_prod_cat.py \
    -mapper mapper_prod_cat.py \
    -reducer reducer_prod_cat.py \
    -input gs://bucket-name/intro_to_mapreduce/purchases.txt \
    -output gs://bucket-name/intro_to_mapreduce/output_prod_cat
 类似资料:
  • 有人能帮我解决这个问题吗?

  • 我试图在hadoop中运行一个程序,但我一直得到: 线程“main”java.lang.unsupportedClassVersionError:hadoop_project_16/aggregatejob:不支持major.minor版本52.0在java.lang.ClassLoader.DefineClass1(本机方法)在java.lang.ClassLoader.DefineClass(

  • 主要内容:Docker 部署,创建容器,Hadoop 安装由于 Hadoop 是为集群设计的软件,所以我们在学习它的使用时难免会遇到在多台计算机上配置 Hadoop 的情况,这对于学习者来说会制造诸多障碍,主要有两个: 昂贵的计算机集群。多计算机构成的集群环境需要昂贵的硬件. 难以部署和维护。在众多计算机上部署相同的软件环境是一个大量的工作,而且非常不灵活,难以在环境更改后重新部署。 为了解决这些问题,我们有一个非常成熟的方式 Docker。 Docke

  • 我有类文件加载到Hadoop文件系统,也有输入文件加载到HDFS。当我在终端中通过hadoop命令运行类文件时,出现了类找不到的错误。例如:我有HDFS内容为WordCount.Class WordCountMapper.Class WordCountReducer.Class SampleInpujt.txt 有人能纠正我哪里做错了吗?或者这是真的可以做到的。

  • 主要内容:1.虚拟机环境准备,2.安装JDK,3.安装Hadoop,4.Hadoop目录结构1.虚拟机环境准备 (1)在/opt目录下创建module、software文件夹 (2)修改module、software文件夹的所有者cd 2.安装JDK 1. 卸载现有JDK (1)查询是否安装Java软件: (2)如果安装的版本低于1.7,卸载该JDK: (3)查看JDK安装路径: 2. 用SecureCRT工具将JDK导入到opt目录下面的software文件夹下面,如图2-28所示 “

  • 问题:我正在尝试从本地计算机运行spark submit脚本到计算机集群。集群完成的工作使用numpy。我当前遇到以下错误: 详细信息:在我的本地环境中,我设置了一个VirtualNV,其中包括numpy以及我在项目和其他各种库中使用的私人回购。我从位于venv/lib/site packages的site packages目录创建了一个zip文件(lib/libs.zip),其中“venv”是我