Spark的如何打jar包
配置文件
path:hdfs://192.168.XXX.100:9000/sparkfile/hello.txt
savepath:hdfs://192.168.XXX.100:9000/sparkout/helloworld
代码实例
注意代码中 配置文件调用的路径为实际安排配置文件存放路径
package nj.zb.kb11
import java.io.FileInputStream
import java.util.Properties
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
object HelloWord {
def main(args: Array[String]): Unit = {
val conf = new SparkConf().setMaster("local[*]").setAppName("sparkreadcsv")
val sc = SparkContext.getOrCreate(conf)
val properties = new Properties()
properties.load(new FileInputStream("/root/software/test.properties"))
//因为是测试实例,这里直接写了配置文件将要放的路径
val path: String = properties.getProperty("path")
val savepath: String = properties.getProperty("savepath")
// val rdd1: RDD[String] = sc.textFile("hdfs://192.168.146.222:9000/kb11/hello.txt")
val rdd1: RDD[String] = sc.textFile(path)
rdd1.flatMap(x=>x.split(" ")).map(x=>(x,1)).reduceByKey(_+_).collect().foreach(println)
rdd1.saveAsTextFile(savepath)
}
}
生成jar包
如果同一个再次打的话,可以选择 Rebuild
删除jar包中的加密文件
用解压软件打开jar包后,进入META-INF路径下,删除对应的DUMMY.DSA和DUMMY.SF文件,否则无法调用
jar包调用
将jar包上传到linux系统
将配置文件上传到linux系统
将需要实例文件hello.txt上传到HDFS对应路径
在spark中输入命令代码
spark-submit
--class nj.zb.kb11.HelloWord
--master local[*] ./sparkstu.jar
结果截图: