MAPREDUCE服务 MRS-经验总结:使用coalesce调整分片的数量
使用coalesce调整分片的数量
coalesce可以调整分片的数量。coalesce函数有两个参数:
coalesce(numPartitions: Int, shuffle: Boolean = false)
当shuffle为true的时候,函数作用与repartition(numPartitions: Int)相同,会将数据通过Shuffle的方式重新分区;当shuffle为false的时候,则只是简单的将父RDD的多个partition合并到同一个task进行计算,shuffle为false时,如果numPartitions大于父RDD的切片数,那么分区不会重新调整。
遇到下列场景,可选择使用coalesce算子:
- 当之前的操作有很多filter时,使用coalesce减少空运行的任务数量。此时使用coalesce(numPartitions, false),numPartitions小于父RDD切片数。
- 当输入切片个数太大,导致程序无法正常运行时使用。
- 当任务数过大时候Shuffle压力太大导致程序挂住不动,或者出现linux资源受限的问题。此时需要对数据重新进行分区,使用coalesce(numPartitions, true)。
- MapReduce服务_如何使用MapReduce服务_MRS集群客户端安装与使用
- GaussDB磁盘扩容_协调节点缩容_协调节点扩容_分片数量扩容
- MapReduce服务_什么是ClickHouse_如何使用ClickHouse
- 大数据分析是什么_使用MapReduce_创建MRS服务
- MapReduce服务_什么是Hue_如何使用Hue
- MapReduce服务_什么是HetuEngine_如何使用HetuEngine
- MapReduce服务_什么是Kafka_如何使用Kafka
- MapReduce服务_什么是ZooKeeper_如何使用ZooKeeper
- MapReduce服务_什么是Hive_如何使用Hive
- MapReduce服务_什么是Yarn_如何使用Yarn