Spark调优
1. 避免创建重复的RDD
1. 1. 一个简单的例子
2. 尽可能复用同一个RDD
2. 1. 一个简单的例子
3. 对多次使用的RDD持久化
3. 1. 对多次使用的RDD进行持久化的代码示例
3. 2. Spark的持久化级别
3. 3. 如何选择一种最合适的持久化策略
4. 尽量避免使用Shuffle类算子
4. 1. Broadcast与map进行join代码示例
5. 使用Map-Side预聚合的Shuffle操作
6. 使用高性能的算子
6. 1. 使用reduceByKey/aggregateByKey替代groupByKey
6. 2. 使用mapPartitions替代普通map
6. 3. 使用foreachPartitions替代foreach
6. 4. 使用filter之后进行coalesce操作
6. 5. 使用repartitionAndSortWithinPartitions替代repartition与sort类操作
7. 广播大变量
7. 1. 广播大变量的代码示例
8. 使用Kryo优化序列化性能
9. 优化数据结构
10. 融会贯通