Spark 学习(四)RDD自定义分区和缓存
一,简介 二,自定义分区规则 2.1 普通的分组TopN实现 2.2 自定义分区规则TopN实现 三,RDD的缓存 3.1 RDD缓存简介 3.2 RDD缓存方式 正文 一,简介 在之前的文章中,我们知道RDD的有一个特征:就是一组分片(Partition),即数据集的基本组成单位。对于RDD来说,每个分片都会被一个计算任务处理,并决定并行计算的粒度。用户可以在创建RDD时指定RDD的分片个数,如果没有指定,那么就会采用默认值。默认值就是程序所分配到的CPU Core的数目。这个分配的规则我们是可以自己定制的。同时我们一直在讨论Spark快,快的方式有那些方面可以体现,RDD缓存就是其中的一个形式,这里将对这两者进行介绍。 二,自定义分区规则 分 组求TopN的方式有多种,这里进行简单的几种。这里尊卑一些数据: 点击下载 2.1 普通的分组TopN实现 实现思路一:先对数据进行处理,然后聚合。最后进行分组排序。 package cn.edu360.sparkTwo import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} object SubjectTopNone { def main(args: Array[String]): Unit =