在spark2.x之后,我们知道所有的入口类都是从SparkSession开始的,因此在编写spark应用程序的时候,首先第一步就是创建SparkSession。在前面的案例里面我们介绍编写的用例非常的简单,但是在真实环境里面我们还是需要在sparkconf里面配置一些参数,因此这篇文章我们介绍下sparksession的初始化创建模板。模板内容如下:
val conf = new SparkConf()
//这里的master模式,在提交的时候我们可以使用命令进行修改,但是在自动化部署提交的平台里面我们不能随意去添加各种命令,因此在这里设置即可。
conf.set("spark.master", "yarn-client")
//这里是配置spark应用程序执行的cpu核数
conf.set("spark.executor.cores", "2")
//这里是配置spark应用程序执行的时候堆大小
conf.set("spark.executor.memory", "4g")
//这里是配置spark应用程序执行的时候需要多少个Executor进程来执行整个任务
conf.set("spark.executor.instances", "6")
//这里是设置spark应用程序数据本地化等待时长,这个意思代表数据本地化等待时长,spark driver对于application分配的task尽量在数据节点上,
//这里补充一下,设置这个时间,也就是等待driver把task分配到数据所处的节点上,如果超过这个时长,则数据会被分配到就近的一个节点上。
conf.set("spark.locality.wait", "0")
//这里是spark的序列化信息设置
conf.set("spark.serializer", "org.apache.spark.serializer.KryoSerializer");
val session = SparkSession.builder()
//把上面的conf设置进来
.config(conf)
.appName("demo")
.getOrCreate()
val sc = session.sparkContext以上就是一个很常见的sparksession应用程序的创建模板。

还没有评论,来说两句吧...