缓存策略 cache和persist
点进去cache,可以看到它调用了persist(),没有给参数,
也就是默认的缓存级别,MEMORY_ONLY
存储块block和partition关系
rdd的运算是基于分区partition的,partition是逻辑上的概念,
block是物理上的数据实体
一个rdd的partition就对应一个storage模块的block
缓存实现的原理
DiskStore磁盘存储和MemoryStore内存存储
DiskStore磁盘存储:
spark会在磁盘上创建spark文件夹,命名为(spark-local-x年x月x日时分秒-随机数)
block块都会存在这里,然后把block id映射成相应的文件路径,就可以存取文件了
MemoryStore内存存储:
更简单,使用hashmap管理block就行了,block id作为key,
MemoryEntry为value