MapReduce打包运行

三)修改代码,设置执行环境和文件路径

我们集群上安装的java环境是1.8的,那么我们生成的代码也必须是这个版本的,否则,就会无法运行。

打开代码,找到driver类,并修改如下:

conf.set("fs.defaultFS", "hdfs://hadoop100:8020"); // 新增加一句

FileInputFormat.setInputPaths(job, new Path("/wcinput")); // 修改

FileOutputFormat.setOutputPath(job, new Path("/output1"));

确保集群中有/wcinput目录,并且下面有记事本文件中的单词。

确保集群中没有output1这个目录,因为它应该是要被动态创建出来的。

(四)上传到节点运行

使用finalshell上到任意节点,例如hadoop100上的/opt下,。

然后通过命令来执行执行WordCount程序,注意要写Driver类的全名

$ hadoop jar /opt/wc.jarcom.root.mapreduce.wordcount.WordCountDriver

(五)修改执行参数

在上面的代码中,我们的程序只能完成固定目录下的功能。现在希望它能处理不同的目录。

修改代码,让程序能指定要执行的输入目录和要保存结果的输出目录。

修改driver类的代码,更新输入和输入路径。

// 6. 设置输入和输出路径

路径为程序的第一个参数,第二个参数

FileInputFormat.setInputPaths(job, new Path(args[0]));

FileOutputFormat.setOutputPath(job, new Path(args[1]));

这里的args[0]和args[1]是程序运行时的两个参数。

相关推荐
九河云10 小时前
海上风电“AI偏航对风”:把发电量提升2.1%,单台年增30万度
大数据·人工智能·数字化转型
ruleslol11 小时前
MySQL的段、区、页、行 详解
数据库·mysql
一心赚狗粮的宇叔11 小时前
中级软件开发工程师2025年度总结
java·大数据·oracle·c#
盛世宏博北京11 小时前
云边协同・跨系统联动:智慧档案馆建设与功能落地
大数据·人工智能
while(1){yan}11 小时前
MyBatis Generator
数据库·spring boot·java-ee·mybatis
それども11 小时前
MySQL affectedRows 计算逻辑
数据库·mysql
是小章啊11 小时前
MySQL 之SQL 执行规则及索引详解
数据库·sql·mysql
富士康质检员张全蛋12 小时前
JDBC 连接池
数据库
yangminlei12 小时前
集成Camunda到Spring Boot项目
数据库·oracle
ChineHe13 小时前
Redis数据类型篇002_详解Strings核心命令与存储结构
数据库·redis·缓存