之前一直不是很了解RDD是啥现在我就开始学习和自我总结一下,以供以后参考。
spark RDD只提供了一种基于迭代器、批量更新的接口。具有只读不可修改的特性,就是说如果想要更新或删除RDD里面的数据,就要遍历整个RDD进行操作,并生成一个新的RDD。所以基于RDD出现了一种改良版叫做IndexedRDD的东西。它是高效、基于RDD开发的键值对存储,扩展自RDD,为高效的Join操作、点查询操作、更新一集删除建立索引。
IndexRDD主要涉及包括:
1.基于key对整个数据进行hash-partitioning;
2.对每个分区内部的hash索引进行维护;
3.用纯粹的功能性的数据结构来实现高效的更新和删除;