Spark(二十九)Spark属性配置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Suubyy/article/details/82973248

静态配置Spark属性

静态配置属性指的就是我们可以在代码中利用SparkCof中的set()方法来设置Spark的属性,set()方法接受接受的键值对SparkConf.set(key,value)。具体的键值对是什么,下文会有介绍。

 def main(args: Array[String]): Unit = {
    val sparkConf = new SparkConf().setMaster("local").setAppName("RDDTest")
    sparkConf.set("spark.executor.memory","10g")
    val sc = new SparkContext(sparkConf)
  }

动态配置Spark属性

所谓的动态配置Spark属性,其实就是我们在Driver端运行spark-submit的时候指定具体的Spark参数属性。

Spark属性

Spark属性我们可以分为应用程序属性、运行环境属性、Shuffle行为属性、Spark UI属性、压缩合序列化属性、内存管理属性、执行行为属性、网络属性、调度属性、动态分配属性、安全策略属性、SparkSQL配置。SparkStreaming配置

应用程序属性

应用属性是Spark应用程序中必要的参数属性,这些属性大多数都具有合理的默认值。具体应用属性如下表所示。

属性名 默认值 解释
spark.app.name None 你的spark应用程序的名字,这个名字可以出现在日子里或者UI界面上
spark.dirver.cores 1 在spark集群中,为每个Driver分配的CPU核数
spark.driver.maxResultSize 1g spark操作所有分区的序列化结果的总限制大小,如果大小超出这个限制,则中止作业。,这样可以保护驱动驱动程序内存不足。
spark.driver.memory 1g 指定驱动程序的内存容量
spark.executor.memory 1g 分配给每个Executor的内存容量
spark.local.dir /tmp 用于存放spark应用程序运行时的数据,例如map输出文件和RDDs在磁盘上的存储。这个目录可以用逗号分隔的多个目录。
spark.logConf false 是否记录sparkConf的所有INFO日志
spark.master None 指定spark的Master节点的
spark.submiy.deployModel None 配置提交spark应用程序是客户端模式还是集群模式

运行环境配置参数

spark.driver.extraClassPath None 指定Driver的额外的ClassPath。注意:在客户端模式下不能够使用SparkConf来设置此属性,但是可以在shell中用 --driver–class–path命令来指定Driver的ClassPath
spark.driver.extraJavaOptions None 该参数的意义在于可以设置驱动程序上JVM的参数。注意1:此选项的设置-Xmx的大小是不允许的,但是在集群模式下我们可以用spark.driver.memory和在客户端模式下使用–driver–memory来设置-Xmx的大小。注意2:在客户端模式下不能够使用SparkConf来设置此属性,但是可以在shell中用 --driver–java–options命令来设置此属性
spark.executor.extraJavaOptions None 设置Executor上的JVM参数。例如GC参数和其他日志选项。注意1:此选项的设置-Xmx最大堆大小是不允许的,但是可以使用SparkConf或者spark-submit脚本或者在spark-default.conf中设置,也可以使用spark.executor.memory设置-Xmx最大堆大小。
spark.executor.log.rolling.maxRetainedFiles None 设置Executor滚动日志保留的最大数量,当超出限制是就删除旧日志,默认是不开启的
spark.executor.log.enableCompression false 是否启动Executor的日志压缩。如果启动就压缩Executor已滚动的日志,默认情况下是不开启的
spark.executor.logs.rolling.maxSize None 设置滚动日志文件的最大大小,字节为单位,
spark.executor.logs.rolling.strategy None 设置日志的滚动策略。默认情况下是禁用的。两种滚动策略,一个是基于时间、一个是基于大小的。对于“时间”,用于spark.executor.logs.rolling.time.interval设置滚动间隔。对于“大小”,用于spark.executor.logs.rolling.maxSize设置滚动的最大文件大小。

猜你喜欢

转载自blog.csdn.net/Suubyy/article/details/82973248
今日推荐