Spark---如何打成jar包至服务器运行

Posted Shall潇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark---如何打成jar包至服务器运行相关的知识,希望对你有一定的参考价值。


编写路径的配置文件

【为什么要编写配置文件?是因为不想在主程序中将路径写死】

利用java中的util包下的Properties读取配置文件信息

新建test.properties文件放在resource文件夹中
在这里插入图片描述
test.properties文件中的内容

【第一个是要读的文件地址,第二个是要保存的文件地址】

path:hdfs://192.168.XXX.100:9000/sparkfile/hello.txt
savepath:hdfs://192.168.XXX.100:9000/sparkout/helloworld

编写程序

import java.io.FileInputStream
import java.util.Properties

import org.apache.spark.{SparkConf, SparkContext}

object HelloWorld {
  def main(args: Array[String]): Unit = {
    val conf = new SparkConf().setMaster("local[*]").setAppName("json")
    val sc = SparkContext.getOrCreate(conf)

    //读取配置路径
    val properties = new Properties()
    properties.load(new FileInputStream("/opt/spark_test/test.properties"))
    val path = properties.getProperty("path")
    val savePath = properties.getProperty("savepath")
//    println(path)

    //wc程序
    val rdd1= sc.textFile(path)
    val result = rdd1.flatMap(_.split(" ")).map(x=>(x,1)).reduceByKey(_+_)
    result.collect()foreach(println)

    result.saveAsTextFile(savePath)  //保存至文件
  }
}

打jar包

不会的请看这里 一看就会

打成jar包,然后删除加密文件
用压缩软件打开,找到 META-INF 目录中的 .DSA和.SF文件 ,将它们都删除
在这里插入图片描述

将相关文件上传至对应的地方

【路径参考程序中的地址】

  • 上传jar包至服务器
  • hello.txt上传至HDFS路径
  • test.properties上传至服务器

程序执行命令

spark-submit 
--class com.kgc.bigdata.spark.core.WordCount
--master spark://hadoop000:7077 
/home/hadoop/lib/spark-1.0.SNAPSHOT.jar  /data/wordcount

这里执行的命令

spark-submit \\
--class HelloWorld \\
--master local[*] ./SparkStu.jar

效果截图

hello.txt
在这里插入图片描述

运行结果
在这里插入图片描述
以及生成了对应的文件
在这里插入图片描述

以上是关于Spark---如何打成jar包至服务器运行的主要内容,如果未能解决你的问题,请参考以下文章

如何上传jar包至Maven私服

Spark运行原理源码版

3.2spark集群运行应用之第三方jar的处理方式

spark任务运行过程的源码分析

maven项目打成jar包 出错。

Maven将代码及依赖打成一个Jar包的方式