一、前言
在sarpk分组排序一一文中最后提到,此方案可能会导致内存溢出。因此,写了一个优化的demo,先上代码
二、源码
import org.apache.spark.{
Partitioner, SparkConf, SparkContext}
object Demo2 {
def main(args: Array[String]): Unit = {
val sc = new SparkContext(new SparkConf().setMaster("local[*]").setAppName("demo2"))
val rdd1 = sc.textFile("./data/sku")
// 2. 转换数据格式,字符串变元组: cate,sku => ((cate,sku), 1)
val rdd2 = rdd1.map(line=>{
((line.split(",")(0), line.split