美文网首页
spark 调优遇到的问题总结

spark 调优遇到的问题总结

作者: mqy_xcar | 来源:发表于2018-11-22 19:44 被阅读0次

spark streaming 例子 每3s 产生7000条数据。数据量小,但是要求1s左右处理完

如果是10个excutor 每个excutor1个核,并发度设成10:

kafka topie 3个partition 对应 spark 的rdd的3个partition,对应3个task,对应3个excutor,

此时数据是在其中3个excutor上,task会以数据本地优先的原则,还回被分配到这三个excutor上。

即使repartition,也不会变。这样就造成了,task执行的排队情况。以为每个excutor只有一个核,只能一个一个的执行。并行度提高不上去。

解决方案:spark.locality.wait=0,默认是3s 。此时,排队的task会去其他excutor上去执行,不会排队。local级别,变成了跨网络去数据。

如果是默认值3s,task会等3s,超时后再分配到其他的excutor上执行。

如果是1 个excutor 10个核,并发度设成10:

kafka topie 3个partition 对应 spark 的rdd的3个partition,对应3个task,对应1个excutor,

测试excutor被创建在数据本地,repartition会出10个task并行跑起来。

mapWithState 的使用方法

相关文章

网友评论

      本文标题:spark 调优遇到的问题总结

      本文链接:https://www.haomeiwen.com/subject/wdlrqqtx.html