原来的写法
sc.makeRDD(HashMap.toSeq).sortBy(_._2).take(firstN)
有两处这样的写法,5万条数据,计算了84分钟。
11:52:56 13:16:10
后来的写法
ListMap.toList.sortBy(_._2).take(firstN)
有两处这样的写法,172万条,不到两分钟计算完成。
其他参数
.set("spark.driver.cores", "4")
.set("spark.driver.memory", "2g")
.set("spark.executor.memory", "12g")
.set("spark.executor.cores", "8")
.set("spark.default.parallelism", "100")
.set("spark.executor.instances", "6")