博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spark 配置解析
阅读量:6694 次
发布时间:2019-06-25

本文共 1497 字,大约阅读时间需要 4 分钟。

hot3.png

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

转载于:https://my.oschina.net/darionyaphet/blog/472560

你可能感兴趣的文章
No zuo no die ,用Docker安装Mysql
查看>>
ES6(数据结构)
查看>>
往dockerhub上上传镜像
查看>>
回调函数的后面加个bind(this)的作用是什么
查看>>
Android使用AttributeSet自定义控件的方法
查看>>
LeetCode 204 Count Primes(质数计数)(*)
查看>>
Python全栈 Web(定位布局、定位方式)
查看>>
【最佳实践】OSS开源工具ossutil-上传性能调优
查看>>
全屏滚动实现:fullPage.js和fullPage
查看>>
配置一个nginx反向代理&负载均衡服务器
查看>>
微软和谷歌警告投资者:糟糕的 AI 会损害他们的品牌
查看>>
成为数据科学家有哪些好处
查看>>
ArrayList 源码解析
查看>>
CodeMaid v11.0 发布,开源 Visual Studio 扩展
查看>>
前端重构之路(组件化)
查看>>
如何避开采购黑幕 高效透明地进行招投标管理?
查看>>
[20180628]expdp与rows=n.txt
查看>>
鱼鹰软件签约医学传播企业麦迪卫康
查看>>
解决ESXI不支持USB移动硬盘
查看>>
js中的事件委托详解
查看>>