《Spark快速大数据分析》几点记录

分区的使用注意点

54页

大表A.join小表B:默认会对A和B都进行hash计算(老版本)和跨节点shuffle,同时根据key到同一个节点上然后join。对A的额外网络等性能开销很大。
优化1:大表A自定义partitionBy,分区好后再join,则join时只会对B shuffle 到A的节点上join

57页 老版本分区
《Spark快速大数据分析》几点记录_第1张图片
59页案例使用总结!!!
1 二元组key,value值数据links最开始就执行自定义分区。避免后续join的额外shuffle网络开销
2 persist 内存迭代使用
3 下一轮rdd对上一轮数据links使用时,用flatMapValues()/mapValues()等,不用map()方式。这样可以保留父RDD分区方式,提高性能

94页

当需要避免对每个元素进行重复操作时,如连接数据库。可以使用基于分区的操作,如mapPartitions

《Spark快速大数据分析》几点记录_第2张图片
整本书偏向入门,比较基础

你可能感兴趣的:(spark)