文档章节

Spark 配置解析

散关清渭
 散关清渭
发布于 2015/06/30 16:28
字数 747
阅读 64
收藏 0

Application相关属性 

绝大多数的属性控制应用程序的内部设置,并且默认值都是比较合理的。下面对这些属性进行说明:    


spark.app.name

该属性没有默认值,它的含义是应用程序名字,这个名字将会在WEB UI上和日志数据里面显示。

如果这个属性没有设置的话,将会把你应用程序的main函数所在类的全名作为应用程序的名称。

在Yarn环境下,还可以用--name或者SPARK_YARN_APP_NAME来设置应用程序的名称。


spark.master

该属性没有默认值。这是Spark程序需要连接集群管理器所在URL地址。

当前spark支持三种集群方式Standalone、Apache Mesos及YARN模式。

如果这个属性在提交应用程序时候没设置,程序将会通过System.getenv("MASTER")来获取MASTER环境变量;

但是如果MASTER环境变量没有设定,那么程序将会把master的值设定为local[*],之后程序将在本地启动。


spark.executor.memory

该属性的默认值是512m。

每个executor处理器可以使用的内存大小之和,跟JVM的内存表示的字符串格式是一样的。

早期版本的Spark,是通过-Xmx和-Xms来设置的。

如果这个值没有设定,那么程序将会先获取SPARK_EXECUTOR_MEMORY环境变量;

如果还没设置,那么获取SPARK_MEM环境变量的值;如果这个值也没设定,那么这个值将会别设定为512,。

几乎所有运行时性能相关的内容都或多或少间接和内存大小相关。

这个参数最终会被设置到Executor的JVM的heap尺寸上,对应的就是Xmx和Xms的值。


spark.serializer

默认值是org.apache.spark.serializer.JavaSerializer。

用于序列化网络传输或者以序列化形式缓存起来的各种对象的类。

默认的Serializer可以对所有的Java对象进行序列化,但是它的速度十分慢!

所以如果速度是影响程序运行的关键,你可以将该值设定为org.apache.spark.serializer.KryoSerializer。

在一些情况下,KryoSerializer的性能可以达到JavaSerializer的10倍以上,


spark.kryo.registrator

默认值为空。

如果你使用了KryoSerializer,就要为Kryo设置这个类去注册你自定义的类。

该类必须继承自KryoRegistrator,实现其中的registerClasses(kryo: Kryo)即可。


spark.local.dir

默认值为/tmp。用于设定Spark的缓存目录,包括了mapper输出的文件,缓存到磁盘的RDD数据。

最好将这个属性设定为访问速度快的本地磁盘。可以用逗号分割来设定多个不同磁盘的目录。

在Spark 1.0和之后版本,这个属性将会被SPARK_LOCAL_DIRS (Standalone, Mesos) 或者 LOCAL_DIRS (YARN) 环境变量替代。


spark.logConf

默认值是false。当SparkContext启动的时候,以INFO日志级别记录下有效的SparkConf 。


参考文献:

[0]  Spark配置属性详解(1)

http://www.iteblog.com/archives/1143


© 著作权归作者所有

上一篇: 浅谈DSL
散关清渭
粉丝 24
博文 238
码字总数 166498
作品 0
东城
程序员
私信 提问
Spark成为大数据高手进阶步骤

什么是Spark Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于map reduce算法实现的分布式计算,拥有Hadoop MapReduce所具有的优点;但不同于MapRedu...

MoksMo
2015/11/05
0
1
使用 IntelliJ IDEA 导入 Spark 最新源码及编译 Spark 源代码

准备工作 首先你的系统中需要安装了 JDK 1.6+,并且安装了 Scala。之后下载最新版的 IntelliJ IDEA 后,首先安装(第一次打开会推荐你安装)Scala 插件,相关方法就不多说了。至此,你的系统...

鄂世嘉
2015/01/23
0
3
Spark Streaming入门

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文将帮助您使用基于HBase的Apache Spark Streaming。Spark Streaming是Spark API核心的一个扩展,支持连续的数据流处理。 什么...

腾讯云加社区
2018/05/16
0
0
如何在万亿级别规模的数据量上使用Spark?

  【IT168 技术】   一、前言   Spark作为大数据计算引擎,凭借其快速、稳定、简易等特点,快速的占领了大数据计算的领域。本文主要为作者在搭建使用计算平台的过程中,对于Spark的理解...

网络大数据
2018/05/30
0
0
如何在万亿级别规模的数据量上使用Spark

一、前言 Spark作为大数据计算引擎,凭借其快速、稳定、简易等特点,快速的占领了大数据计算的领域。本文主要为作者在搭建使用计算平台的过程中,对于Spark的理解,希望能给读者一些学习的思...

风火数据
2018/05/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

NIO基于长度域的报文在Netty下的解码

1, 先复习一下粘包/拆包 1.1, 粘包/拆包的含义 TCP是个“流”协议, 并不了解上层业务数据的具体含义, 它会根据TCP缓冲区的实际情况进行包的划分,所以在业务上认为,一个完整的包可能会被TCP...

老菜鸟0217
今天
8
0
从零开始搭建spring-cloud(2) ----ribbon

在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的。Spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是feign。 其实我们已经在上...

Vincent-Duan
今天
19
0
get和post的区别?

doGet:路径传参。效率高,安全性差(get的传送数据量有限制,不能大于2Kb) doPOST:实体传参。效率低,安全性好 建议: 1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Pos...

花无谢
昨天
4
0
当谈论迭代器时,我谈些什么?

当谈论迭代器时,我谈些什么? 花下猫语:之前说过,我对于编程语言跟其它学科的融合非常感兴趣,但我还说漏了一点,就是我对于 Python 跟其它编程语言的对比学习,也很感兴趣。所以,我一直...

豌豆花下猫
昨天
14
0
10天学Python直接做项目,我做了这5件事

初学者如何尽快上手python? 市面上关于如何学python的资料很多,但是讲的都太复杂。 我就是很简单的几句话,从小白到开发工程师,我只做了五件事。 我觉得任何商业计划书如果不能用几句话讲...

Python派森
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部