• Spark3000门徒第14课spark RDD解密总结


    今晚听了王家林老师的第14课spark RDD解密,课堂笔记如下:

    Spark是基于工作集的应用抽象,RDD:Resillient Distributed Dataset是基于工作集的,spark可以对结果重用。

    位置感知:spark比hadoop更精致。

    RDD是lazy的,是分布式函数式编程的抽象,RDD可以看做一个只读的List或者Array。产生的中间结果怎么办? 不能让
    他立即计算,采用Lazy级别,只对数据处理做标记。所以RDD操作是有向的,链式的,所以Stage有1000个步骤,不需要999个中间结果,默认只产生一次结果。数据量越大,计算步骤越多,优势更明显。

    protected def getPartitions: Array[Partition]

    /*** :: DeveloperApi ::
    * Implemented by subclasses to compute a given partition.
    */
    @DeveloperApi
    def compute(split: Partition, context: TaskContext): Iterator[T]

    这样所有RDD操作返回一个迭代器,这样后续框架可以无缝集成,用迭代器来遍历结果就可以了,不需要知
    道具体结构。

    RDD缺陷:
    不支持细粒度的更新操作以及增量迭代计算

    后续课程可以参照新浪微博 王家林_DT大数据梦工厂:http://weibo.com/ilovepains

    王家林  中国Spark第一人,微信公共号DT_Spark

    转发请写明出处。

  • 相关阅读:
    Mac014--Sourcetree安装(Git client)
    SSM003/构建Maven单模块项目(二)
    Git016--Work
    Mac013--Docker安装
    前端002/常用标签属性(工作应用)
    Python 38 初识数据库
    Python 38 sql基础
    Python 39 数据库的数据类型
    Python 39 数据库
    Python 37 进程池与线程池 、 协程
  • 原文地址:https://www.cnblogs.com/haitianS/p/5138098.html
Copyright © 2020-2023  润新知