MAPREDUCE服务 MRS-Repartition时有部分Partition没数据:回答
回答
这是正常现象。
数据分到哪个partition是通过对key的hashcode取模得到的,不同的hashcode取模后的结果有可能是一样的,那样数据就会被分到相同的partition里面,因此出现有些partition没有数据而有些partition里面有多个key对应的数据。
通过调整“spark.sql.shuffle.partitions”参数值可以调整取模时的基数,改善数据分块不均匀的情况,多次验证发现配置为质数或者奇数效果比较好。
在Driver端的“spark-defaults.conf”配置文件中调整如下参数。
参数 |
描述 |
默认值 |
---|---|---|
spark.sql.shuffle.partitions |
shuffle操作时,shuffle数据的分块数。 |
200 |
- MapReduce服务_什么是Kafka_如何使用Kafka
- MapReduce服务_什么是ZooKeeper_如何使用ZooKeeper
- MRS优势_什么是MRS_MRS功能
- MapReduce服务_什么是MapReduce服务_什么是HBase
- MapReduce服务_什么是ClickHouse_如何使用ClickHouse
- MapReduce服务_如何使用MapReduce服务_MRS集群客户端安装与使用
- MapReduce服务_什么是Hive_如何使用Hive
- MapReduce服务_什么是Hue_如何使用Hue
- MapReduce服务_什么是HetuEngine_如何使用HetuEngine
- 云数据库Gaussdb数据库索引_华为gaussdb__gaussdb 数据库