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数量