IDEA下载安装:
新建scala项目:
file--->new--->project scala-->sbt 自动下载导入需要的jar包

file--->project Structure

libraries:引入spark下的jar包
右击scala,新建scala class ,选择 object

wordcount scala代码:
import org.apache.spark._
object Hello {
def main(args: Array[String]): Unit = {
println("my first scala app")
val conf=new SparkConf().setAppName("wordcount")
val sc=new SparkContext(conf)
val input=sc.textFile("spark/hellospark.txt")
val lines=input.flatMap(line =>line.split(" "))
val count=lines.map(word =>(word,1)).reduceByKey{case (x,y) =>x+y}
val output=count.saveAsTextFile("spark/hellosparkRes")
}
}注:程序中的输入输出路径是针对hdfs上的路径,不是本地路径写好后打包成jar
file--->project Structure--->Artifacts 点+,选择项目,导出

注:选择上边的只打包目标程序的jar,生成一个jar文件
选择下边的会把引用的所有jar包都重新生成,时间长,没必要,所以选择上面的

build--->build Artifacts--->build 等待完成
任务提交到集群运行:
spark-submit --master spark://hserver1:7077 --class Hello /root/spark/text2.jar
问题:
spark-submit 报错 Initial job has not accepted any resources:
spark-submit 后面加--executor-memory 512m就运行正常了(默认是1024m)(虚拟机当时配置的时候默认是1024m的内存,所以会出现内存空间不足)
运行完以后生成的文件:

生成part-00000和part-00001两个文件:


成功运行!
本文介绍如何使用IDEA创建Scala项目并集成Spark,通过具体示例演示如何编写WordCount程序,包括项目配置、打包及在集群上运行的方法。
942

被折叠的 条评论
为什么被折叠?



