RDD cache
当持久化某个RDD后,每一个节点都将把计算的分片结果保存在内存中,并在对此RDD或衍生出的RDD进行的其他动作中重用,以提升计算效率。
RDD checkpoint容错机制
缓存有可能丢失,或者存储于内存的数据由于内存不足而被删除。通过基于RDD的一系列转换,丢失的数据会被重算,由于RDD的各个partition是相对独立的,因此只需要计算丢失的那一部分数据即可,并不需要重新计算全部partition。但是多次迭代后数据丢失的重新计算,会影响这个效率。因此,RDD的缓存容错机制保证了即使缓存丢失也能保证快速的恢复,而不是重新计算。checkpoint是保存在hdfs目录中,保证了存储的可靠性。
行存储和列存储优缺点
- 行存储的写入是一次性完成的,消耗的时间比列存储少,并且能够保证数据的完整性,缺点是数据读取过程中会产生冗余数据,如果数据量大会影响到数据的处理效率
- 列存储在写入效率,保证数据完整性方面不如行存储,但是他的优势在于读取过程,不会产生冗余数据
列式存储在大数据存储中的优势
- 可以跳过不符合条件的数据,只读取需要的数据,降低IO数据量
- 由于同一列的数据类型时一样的,所以可以使用更搞笑的压缩编码方式,最大限度的节约存储空间
- 只读取需要的列,能够获取更好的扫描性能
网友评论