美文网首页
【Spark学习笔记】详解RDD

【Spark学习笔记】详解RDD

作者: 不可能打工 | 来源:发表于2019-07-22 15:41 被阅读0次

    1.Driver program

    包含程序的main()方法,RDDs的定义和操作。它管理很多节点,我们称为executors


    image.png

    2.SparkContext

    • Driver programs通过SparkContext对象访问Spark
    • SparkContext对象代表和一个集群的连接。
      在shell中SparkContext自动创建好了,就是sc。

    3.RDDs

    • RDDs(Resilient distributed datasets(弹性分布式数据集))。
    • RDDs并行的分布在集群中。
    • RDDs是Spark分发数据和计算的基础抽象类。
    • 一个RDD是一个不可改变的分布式集合对象
    • Spark中所有的计算都是通过RDDs的创建、转换、操作完成的。
    • 一个RDD内部由很多的partitions(分片)组成的。

    4.RDDs血统关系图

    Spark维护着RDDs之间的依赖关系和创建关系,叫做血统关系图。
    Spark使用血统关系图来计算每个RDD的需求和恢复丢失的数据。


    image.png

    5.延迟计算(Lazy Evaluation)

    • Spark对RDDs的计算是,他们第一次使用action操作的时候,这种方式在处理大数据的时候特别有用,可以减少数据的传输。
    • Spark内部记录metadata表名transformations操作已经被响应了。
    • 加载数据也是延迟计算,数据只有在必要的时候,才会被加载进去。

    6.RDD.persist()

    默认每次在RDDs上面进行action操作时,Spark都重新计算RDDs。如果想重复利用一个RDD
    ,可以使用RDD.persist() unpersist()方法从缓存中移除

    RDD.persist(MEMORY_ONLY)
    RDD.persist(MEMORY_ONLY_SER) 序列化消耗CPU
    RDD.persist(DISK_ONLY)

    相关文章

      网友评论

          本文标题:【Spark学习笔记】详解RDD

          本文链接:https://www.haomeiwen.com/subject/oarwlctx.html