开发者学堂课程【大数据Spark2020最新课程(知识精讲与实战演练)第二阶段:RDD 的缓存_缓存的意义_案例介绍】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/689/detail/11996
RDD 的缓存_缓存的意义_案例介绍
RDD 有三个特性是我们需要着重了解的
第一个是分区和 Shuffle ,第二个是缓存,第三个是 Checkpoint。
RDD 的缓存,第一部分是 RDD 缓存的意义;第二部分是所说的这个缓存怎么去使用,那么 RDD 的缓存的 API ;第三部分要去简单地说一说 RDD 的缓存级别,这是我们的三大知识点。
首先对于第一个知识点来说,简单来说,其实我个人认为了解缓存的意义甚至比理解缓存 API 要更重要。
缓存也是 RDD 当中非常重要也是非常厉害的一个特性。
缓存意义通过一个案例来说明问题。
第一步,肯定还是要去查看数据集;第二部分,要去说一说需求;第三部分,说一说步骤;第四部分,说一说代码。按照这个步骤,去分析,那么打开的 Idea 。
首先,这个数据集采用原来使用过的一个数据集叫做
access_log_sample。
打开这个数据集以后,注意到这个数据集当中,横纵来看,首先对于纵列来说的,这一列就是 IP 地址。
横向来看的话,每一条数据其实就是一个 IP 的访问记录。现在需要统计什么东西呢?统计出现访问次数最多的 IP ,注意统计的是 IP 。还有一个需求就是统计访问次数最少的 IP 。如果是这样的话,我们的需求应该怎么去做呢?非常简单,我们再去创建一个文件,我们去把这个文件先创建出来,这个文件,就叫做 Cache Op ,这个文件创建出来以后,我们先创建出来一个方法。创建出来方法以后,就叫做 prepare 。
步骤:
第一步,肯定要创建 SC ;然后,第二步要统计的是 IP ,他访问最少的那个 IP 和访问最多的那个 IP ,所以,应该先把 IP 取出来,读取文件;第三步,取出 IP 。
IP 那一列,取出 IP 以后要进行一次过滤清洗。
再接下来,是要去怎么着统计 IP 出现的次数。如果这一步要统计 IP 出现的次数的话,那么在这个位置是要赋予初始词频,赋予初始频率。
第六步,统计出现次数最少的 IP ,第七步,统计出现次数最多的 IP 。接下来就按照这个步骤来实现整个案例。