壹–spark初始化
val conf = new SparkConf().setMaster("master").setAppName("appName")
val sc = new SparkContext(conf)
- 任何的spark程序都是从SparkContext开始的,就项tensorflow当中的Session一样,都需要先实例化,一般使用
SparkContext()
方法就可以: - 所以在实例化对象之前最好先配置该对象的一些参数,我们可以把它打包在参数conf中,
其中conf对象的产生是使用了
SparkConf()
之后产生对象之后调用该对象的setMaster()方法来进行设置该spark程序的部署/运行模式,同时也为spark应用程序设置一个名称,使用setAppName()
便于区分众多的spark程序setMaster():设置程序运行模式
- setAppName():为该spark程序设置一个名称
参考:https://www.cnblogs.com/Forever-Road/p/7351245.html
贰—spark部署方式与调度模式
spark参数主要是从部署方式与调度模式来进行讨论的:
- 部署方式:有local与cluster(本地和集群)–参数代表为master,区别就是计算机运行的台数,本地上一般只有一台计算机一般主要是用来做测试,训练.集群则是有很多台.
- 集群的方式引来了另一个问题:调度问题,每台计算机的资源如何调度:
- 有三种模式:
- standalone:自己计算,自己调度.—
- messo:交由messo调度器进行调度—-
- yarn:就是为了方便与MapReduce在同一集群上的融合,使用yarn调度模式,具体有两种实现方式:
- yarn cluster:调度和计算都在集群上,
- yarn client:调度在本机,计算在集群(其实就是资源分配掌握在本地上,但是分配出来的计算资源可以放在集群上)
- 列表内容
参考下图: