在Hibench的测试中,实际在导入数据时性能的优化就开始了,在conf/hibench.conf文件中,hibench.default.map.parallelism和hibench.default.shuffle.parallelism会对数据的分片以及Mapper、Reducer的Partition数量进行限定;后续需要调优这个分片数,需要重新导入数据。
现象:
采用不同的parallelism数量进行数据导入,采用的是Hadoop Mapreduce进行,在HDFS NameNode界面的Utils – Filesystem Explorer界面上查看Hibench对应数据目录下的文件,能够看到导入成功后实际数据文件的总数与parallelism设置的值相同;另外文件的大小也会随partition的数量而不同,partition越多,单文件越小。
参数初始值设置推荐:
在Spark2x官网上的描述如下所示。
对于Yarn作为集群管理器的Spark2x集群,官方推荐设置为执行节点核数总数的2~3倍,使得每个CPU物理核上运行2~3个Tasks,因此在Hibench的测试中该参数初始值设置为300。