1.rdd的数据是过程数据

rdd之间进行相互迭代计算,当执行开启后,新rdd的产生,代表老rdd的消失

rdd的数据是过程数据,只在处理的过程中存在,一旦处理完成,就不见了

这样可以最大化的利用资源

2.rdd的缓存

sparkt提供了缓存api,可以让我们通过调用api,将指定的rdd数据保留在内存或者硬盘上

缓存特点:

    缓存技术可以将过程rdd数据,持久化保存到内存或者硬盘上,但是,这个保存再设定上认为是不安全的
    其保留rdd之间的血缘关系
    缓存时分散存储的

3.rdd的checkpoint

checkpoint存储rdd数据,是集中收集再各个分区数据进行存储,而缓存是分散存储

4.checkpoint和缓存的对比

    checkpoint不管分区数量多少,风险是一样的,缓存分区越多,风险越高
    checkpoint支持写入hdfs,缓存不行,hdfs是高可靠存储,checkpoint被认为是安全的
    checkpoint不支持内存,缓存可以,缓存如果写内存性能比checkpoint要好一些
    checkpoint在设计上认为是安全的,所以不保留血缘关系,而缓存因为设计上认为不安全,所以保留

第四章

1.jieba库可以对中文进行分词

2.由于yarn是集群运行,executor可以在所有服务器上执行,所以每个服务器都需要有哦jieba库提供支撑

3.如何尽量提高任务计算的资源

计算cpu核心和内存量,通过–executor-memory指定executor内存,通过–executor-cores指定executor的核心

通过—num-executors指定executor数量