IDEA将spark程序打成jar包上传到集群运行

本文详细介绍如何使用IDEA插件快速打包Spark应用程序为jar包,包括配置项目结构、构建和上传至虚拟机运行的全过程。只需在代码修改后选择重新构建,即可简化后续流程。

一、基于IDEA插件

File->Project Structure->Artifacts->"+"->Jars->From modules with dependencies

 

 

 

 

然后Build->Build Artifacts->Build

 

生成的jar包在左侧目录结构中可以看到(这个生成位置是可以指定的)

将生成的jar包上传至虚拟机,并提交运行

./spark-submit --class dataCleaner.ETL ~/soft/firstSpark.jar

看到输出结果,成功!

之后如果修改代码需要重新打包,并不需要将这些步骤从头再来一遍,只需要在Build Artifacts时选择rebuild就可以。

 

 

### 将Scala代码在IDEA中打JAR文件并通过命令上传到集群运行 #### 准备工作 为了能够在IntelliJ IDEA中成功创建并打Scala项目,需先完成必要的环境设置。这括但不限于安装Scala插件[^2]。 #### 创建新项目 当启动新的Scala Maven项目时,选择`File -> New Project`,随后挑选Scala作为主要编程语言,并确保已正确指定了Project SDK和Scala SDK。如果未见Scala选项,则表明尚未安装相应的插件。 #### 编写POM.XML文件 对于Maven项目的构建,编辑`pom.xml`来定义依赖关系和其他配置参数至关重要。特别是要加入Spark的相关库支持以便后续能够顺利编译和部署应用至集群环境中[^1]。 ```xml <dependencies> <!-- Spark Core --> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.11</artifactId> <version>${spark.version}</version> </dependency> <!-- Other dependencies... --> </dependencies> <!-- Build configuration to include all dependencies into the JAR file --> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.2.4</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> </execution> </executions> </plugin> </plugins> </build> ``` 上述XML片段展示了如何利用maven-shade-plugin将所有依赖项嵌入最终生成的JAR文件内,从而简化分发过程[^4]。 #### 打项目为JAR 一旦完成了源码编写及其关联资源准备之后,可以通过右键点击项目根目录下的任意空白处,在弹出菜单里依次选取`Build | Build Artifacts` 或者直接通过命令行工具mvn clean package 来触发整个工程的编译与打流程,进而获得可执行版本的应用程序。 #### 提交作业给集群 最后一步就是把之前制作好的JAR文件连同输入数据集一起发送到远程服务器上去执行计算任务。这里给出了一条典型的spark-submit调用语句用于说明具体做法: ```bash bin/spark-submit \ --class com.example.MainClass \ --master yarn \ --deploy-mode cluster \ /path/to/application-jar-file.jar \ hdfs://namenode:port/input-path \ hdfs://namenode:port/output-path ``` 请注意替换实际路径名、端口号以及其他必要参数以适应特定场景需求[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值