![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spark性能调优
文章平均质量分 90
angel泪
这个作者很懒,什么都没留下…
展开
-
spark性能调优---rdd重构和rdd持久化
1.尽量去复用RDD,差不多的RDD,可以抽取称为一个共同的RDD,供后面的RDD计算时,反复使用。 2.公共RDD一定要实现持久化(persite,catch),持久化可以持久化到内存(内存不够可以存放到磁盘里面) 3.序列化我们需要持久化的RDD,序列化会节省空间,不过要使用的时候必须反序列化 4.为了数据的高可靠性,而且内存充足,可以使用双副本机制,进行持久化持久化的双副本机制,持久化...原创 2018-06-07 14:22:09 · 391 阅读 · 0 评论 -
spark性能调优---调节并行度
并行度:其实就是指的是,Spark作业中,各个stage的task数量,也就代表了Spark作业的在各个阶段(stage)的并行度。 如果不调节并行度,导致并行度过低,会怎么样? 假设,现在已经在spark-submit脚本里面,给我们的spark作业分配了足够多的资源,比如50个executor,每个executor有10G内存,每个executor有3个cpu core。基本已经达到了集群或...原创 2018-06-06 19:39:08 · 273 阅读 · 0 评论 -
spark性能调优---广播变量的使用
Broadcast Variables Broadcast variables allow the programmer to keep a read-only variable cached on each machine rather than shipping a copy of it with tasks. They can be used, for example, to give e...原创 2018-11-30 15:24:57 · 220 阅读 · 0 评论 -
spark性能调优---Kryo序列化
1.为啥要用Kryo序列化 Spark算子操作的时候如果用到外部数据的话,都会对外部数据进行序列化,Spark内部是使用Java的序列化机制,ObjectOutputStream / ObjectInputStream,对象输入输出流机制,来进行序列化这种默认序列化机制的好处在于,处理起来比较方便;也不需要我们手动去做什么事情,只是,你在算子里面使用的变量,必须是实现Serializable接口...原创 2018-11-30 16:31:12 · 254 阅读 · 0 评论 -
Spark性能调优---fastutil优化数据格式
Spark中应用fastutil的场景: 1、如果算子函数使用了外部变量;那么第一,你可以使用Broadcast广播变量优化;第二,可以使用Kryo序列化类库,提升序列化性能和效率;第三,如果外部变量是某种比较大的集合,那么可以考虑使用fastutil改写外部变量,首先从源头上就减少内存的占用,通过广播变量进一步减少内存占用,再通过Kryo序列化类库进一步减少内存占用。 2、在你的算子函数里,...原创 2018-11-30 17:08:52 · 155 阅读 · 0 评论