MapReduce架构-打包运行

(一)maven打包

MapReduce是一个分布式运算程序的编程框架,是用户开发"基于Hadoop的数据分析应用"的核心框架。

MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序(例如:jar包),并发运行在一个Hadoop集群上。

在pom.xml中,补充如下配置,它用来设置打包的java 版本。

<properties>

<maven.compiler.source>1.8</maven.compiler.source>

<maven.compiler.target>1.8</maven.compiler.target>

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

</properties>

设置编译版本

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

关于java版本的说明如下:

在 Java 7 之前,Java 的版本命名一直是 1.x 的形式,例如 1.6、1.7。从 Java 7 开始,为了简化版本号的表示,Oracle 开始采用新的命名方式,将 1.x 改为 x。所以Java 8 和 1.8 是同一个版本,只是命名方式不同。

从 Java 9 开始,版本号的命名方式完全统一为 x,例如 Java 9、Java 11、Java 17 等,不再使用 1.x 的形式。

如果你看到 Java 8 或 1.8,它们指的是同一个版本,没有任何区别。

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

我们集群上安装的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

运行结束之后,在ui中查看yarn运行效果。

第二课时

(五)修改执行参数

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

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

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

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

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

FileInputFormat.setInputPaths(job, new Path(args0));

FileOutputFormat.setOutputPath(job, new Path(args1));

这里的args0和args1是程序运行时的两个参数。

改完代码之后,要重新打包,并上传到某台节点上运行。

相关推荐
大模型码小白8 小时前
【Python零基础教程】继承、多态与魔法函数:面向对象编程三大核心特性详解
java·大数据·开发语言·人工智能·python·ai编程
延凡科技11 小时前
多场景落地复盘:端边云架构无人机智能巡检系统设计与实践
大数据·数据结构·人工智能·科技·架构·无人机·能源
ifenxi爱分析12 小时前
爱分析最新报告解读:AI数据基础设施与数据中台的区别
大数据·人工智能
品牌全球行13 小时前
共商共建共享 链接数字未来——“一带一路数字新城(深圳)会客厅筹备办”揭牌仪式在深圳隆重举行
大数据·人工智能
数智化管理手记14 小时前
账龄分析手工统计易遗漏?自动账龄分析工具怎么搭建
大数据·网络·数据库·人工智能·数据挖掘
ApacheSeaTunnel15 小时前
Apache SeaTunnel AI CLI Benchmark:7 款大模型、100 个 ETL 任务实测,谁真正能跑起来?
大数据·ai·开源·大模型·数据集成·cli·seatunnel·技术分享·数据同步
电商API_1800790524716 小时前
企业ERP进销存场景|京东商品详情接口自动同步方案|凭证鉴权批量调用技术实操
大数据·运维·人工智能·爬虫·数据挖掘·网络爬虫
小稻穗16 小时前
市场调研样本选型坐标系:2026六家国内样本平台能力横向校验
大数据·运维·数据分析
极光代码工作室16 小时前
基于Spark的日志监控与分析平台
大数据·hadoop·python·spark·数据可视化
wuhanzhanhui17 小时前
从高强钢到碳纤维!2026武汉汽车材料轻量化制造技术展会,重塑未来造车新范式
大数据·汽车·制造