开发者社区> 问答> 正文

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

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

展开
收起
芯在这 2021-12-07 17:41:55 348 0
1 条回答
写回答
取消 提交回答
  • 1)lazy记录了数据的来源,RDD是不可变的,且是lazy级别的,且rDD

    之间构成了链条,lazy是弹性的基石。由于RDD不可变,所以每次操作就

    产生新的rdd,不存在全局修改的问题,控制难度下降,所有有计算链条

    将复杂计算链条存储下来,计算的时候从后往前回溯

    900步是上一个stage的结束,要么就checkpoint

    2)记录原数据,是每次修改都记录,代价很大

    如果修改一个集合,代价就很小,官方说rdd是

    粗粒度的操作,是为了效率,为了简化,每次都是

    操作数据集合,写或者修改操作,都是基于集合的

    rdd的写操作是粗粒度的,rdd的读操作既可以是粗粒度的

    也可以是细粒度,读可以读其中的一条条的记录。

    3)简化复杂度,是高效率的一方面,写的粗粒度限制了使用场景

    如网络爬虫,现实世界中,大多数写是粗粒度的场景

    2021-12-07 17:42:06
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

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