spark
weixin_43662454
这个作者很懒,什么都没留下…
展开
-
spark的资源参数调优
1.num-executors 参数说明:该参数用于设置spark作业总共要用多少个Executor, 建议每个spark作业运行一般设置50~100个左右的Executor进程比较合适 2.executor-memory 参数说明:该参数用于设置每个executor进程的内存,executor内存的大小,很多时候度决定了spark作业的性能,常见jvm oom异常 建议每个executor内存设...原创 2018-12-04 16:52:24 · 196 阅读 · 0 评论 -
spark的持久化 persist
memory_only 使用未序列化的Java对象格式,将数据保存在内存中。 memory_and_disk 使用未序列化的Java对象格式,优先尝试将数据保存在内存中,如果内存不够存放所有的数据,会将数据写入磁盘文件汇总,下次对这个RDD执行算子是,持久化在磁盘文件中的数据会被读取出来使用. memory_only_ser 基本含义同memory_only,唯一的区别是,会将RDD中的数据进行...原创 2018-12-04 16:54:40 · 338 阅读 · 0 评论 -
spark的shuffle相关参数调优
1.spark.shuffle.file.buffer 默认是32K 该参数用于设置shuffle write task 的BufferedOutputStream的buffer缓冲大小,将数据写到磁盘文件,在内存作业资源充足的情况下,可以调为64K 2.spark.reduce.maxSizeInFlight 默认值:48M 该参数用于设置shuffle read task的buffer缓冲大小...原创 2018-12-04 16:56:45 · 517 阅读 · 0 评论 -
spark的程序开发调优
原则一: 避免创建重复的RDD,对于同一份数据,只应该创建一个RDD. 原则二: 尽可以复用同一个RDD,对于类似这种多个RDD的数据有重叠或者包含的情况,我们应该尽量复用一个RDD,尽量减少RDD的数量,从而尽可能减少算子执行的次数 原则三: 对多次使用的RDD进行持久化,对多次进行操作的算子使用persist持久化 算则四: 尽量避免使用shuffle类算子,尽量避免使用reducebykey...原创 2018-12-04 16:58:31 · 72 阅读 · 0 评论 -
Spark性能调优合理设置并行度
spark作业中,各个stage的task的数量,也就代表了spark作业在各个stage的并行度,50个Executor,3个core,也就是说Application任何一个stage运行的时候,都有150个cpu core,可以并行运行,官方建议task的数量,设置为spark Application总cpu core数量的2~3倍,比如150个CPU core,基本设置task数量为300~...原创 2018-12-04 16:59:44 · 213 阅读 · 0 评论 -
spark的三种部署模式
三种模式 standalone即独立模式,自带完整的服务,可单独部署到一个集群中,无须依赖任何其他资源系统 spark on mesos模式 正式由于spark开发之初就考虑支持mesos,因此,目前而言,spark运行在mesos上会比运行在yarn上更加灵活,更加自然,目前在spark on mesos环境中,用户可选择两种调度模式之一运行自己的应用程序 (1) 粗粒度模式:每个应用程序的运...原创 2018-12-04 17:01:42 · 1268 阅读 · 0 评论