zoukankan      html  css  js  c++  java
  • 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

    转发请写明出处。

  • 相关阅读:
    Python 变量回收
    centos服务器内部开启端口
    mysql启动不起来汇总
    torch中DataLoader加载字典
    torch.meshgrid函数
    如何配置好python脚本的命令行参数
    git忽略文件,.gitignore配置
    jupyter如何解析命令行参数argv
    怎么制作虚拟环境的yaml
    如何提高matplotlib在jupyter中作图的分辨率
  • 原文地址:https://www.cnblogs.com/haitianS/p/5138098.html
Copyright © 2011-2022 走看看