开发者社区> 问答> 正文

RDD通过Linage(记录数据更新)的方式为何很高效?

RDD通过Linage(记录数据更新)的方式为何很高效?

展开
收起
茶什i 2019-10-28 15:51:31 1770 0
1 条回答
写回答
取消 提交回答
  • 1)lazy记录了数据的来源,RDD是不可变的,且是lazy级别的,且rDD 之间构成了链条,lazy是弹性的基石。由于RDD不可变,所以每次操作就 产生新的rdd,不存在全局修改的问题,控制难度下降,所有有计算链条 将复杂计算链条存储下来,计算的时候从后往前回溯 900步是上一个stage的结束,要么就checkpoint 2)记录原数据,是每次修改都记录,代价很大 如果修改一个集合,代价就很小,官方说rdd是 粗粒度的操作,是为了效率,为了简化,每次都是 操作数据集合,写或者修改操作,都是基于集合的 rdd的写操作是粗粒度的,rdd的读操作既可以是粗粒度的 也可以是细粒度,读可以读其中的一条条的记录。 3)简化复杂度,是高效率的一方面,写的粗粒度限制了使用场景 如网络爬虫,现实世界中,大多数写是粗粒度的场景

    2019-10-28 16:25:56
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
HBase2.0重新定义小对象实时存取 立即下载
Apache Flink 流式应用中状态的数据结构定义升级 立即下载
事务、全局索引、透明分布式 立即下载