IDEA编写scala代码并打包上传集群运行
我们在IDEA上的maven项目已经搭建完成了,现在可以写一个简单的spark代码并且打成jar包
上传至集群,来检验一下我们的spark搭建后是否真正可以使用了
1.简单编写个spark程序
import org.apache.spark.{SparkConf, SparkContext}
import com.alibaba.fastjson.JSON
object JsonTest {
def main(args: Array[String]): Unit = {
val conf = new SparkConf().setAppName("jsonTestApp")
val sc = new SparkContext(conf)
val sourceText = sc.textFile("" +
"file:///home/hzp/software/spark-3.0.1/examples/src/main/resources/people.json")
//val rdd2 = sourceText.map(s =>Json.parse(s) )
val rdd2 = sourceText.map(s => JSON.parseObject(s.toString))
val rdd3 = rdd2.map(item => ((item.put("name", ""),(item.put("age", "")),(item.put("sex","")))))
rdd3.saveAsTextFile("/jsonOut")
//rdd2.map(item => (item.keySet(),item.values())).foreach(println(_))
sc.stop()
}
}
写好我们的代码之后还要做一件非常重要的事情,就是把这个代码打包上传到我们的集群里
2.这里来给大家演示一下如何把代码打成jar包和上传到集群的操作
有两种方法可以打包
第一种:
把IDEA右侧的一个叫maven project的目录打开
打开之后点击你的项目名称,然后点击lifecycle,点住clean和package,双击
之后自动开始打包
打包完成以后去项目的target下面查看一下包是否成功导出
上面可以看到已经成功的打包出来了,然后把打好的jar包上传至集群某个文件夹下
然后到spark的bin目录下执行命令:
./spark-submit \ --class 包名加类名 \ --master spark://节点名://7077 \ --jar包在你的集群的绝对路径 \ 参数值
回车,就开始执行jar包了,下面是结果的展示
到这里为止,我们已经成功的运行了!