zoukankan      html  css  js  c++  java
  • Spark RDD概念学习

    一,RDD 是什么  

    RDD 是spark 整个 体系中最重要的概念  RDD (Resilient Distributed DataSet) 中文就是 弹性分布式数据集;

    弹性:简单解释就是RDD 是可以横向多分区的 ,纵向概念理解起来可能更容易 ,当计算过程中内存不足时候可以把数据刷到磁盘等外部存储上  从而实现 数据在内存和外存的灵活切换。

    分布式 : 数据的计算可以在多台计算机上并行同时进行 。

    二,RDD 是怎么形成的 

    RDD 的形成  主要是通过  链接屋里存储输入的数据集  和 在已有的 RDD 计算得到;

    上图描述了Spark的输入、 运行转换、 输出。 在运行转换中通过算子对RDD进行转换。算子是RDD中定义的函数,可以对RDD中的数据进行转换和操作。
      1)输入:在Spark程序运行中,数据从外部数据空间(如分布式存储:textFile读取HDFS等,parallelize方法输入Scala集合或数据)输入Spark,数据进入Spark运行时数据空间,转化为Spark中的数据块,通过BlockManager进行管理。
      2)运行:在Spark数据输入形成RDD后便可以通过变换算子,如fliter等,对数据进行作并将RDD转化为新的RDD,通过Action算子,触发Spark提交作业。
      3)输出:程序运行结束数据会输出Spark运行时空间,存储到分布式存储中(如saveAsTextFile输出到HDFS),或Scala数据或集合中(collect输出到Scala集合,count返回Scala int型数据)。Spark的核心数据模型是RDD,但RDD是个抽象类,具体由各子类实现,如MappedRDD、 ShuffledRDD等子类。 Spark将常用的大数据操作都转化成为RDD的子类。 

    注:

    Transformation 变换/转换算子

      1、map算子

      2、flatMap算子

      3、mapPartitions算子

      4、union算子

      5、cartesian算子

      6、grouBy算子

      7、filter算子

      8、sample算子

      9、cache算子  

      10、persist算子

      11、mapValues算子

      12、combineByKey算子

      13、reduceByKey算子

      14、join算子

     Action 行动算子

      1、foreach算子

      2、saveAsTextFile算子

      3、collect算子

      4、count算

      

  • 相关阅读:
    CSS3 @fontface实现颜色大小可控的三角效果
    html5 canvas之绘制曲线
    li内文字超出隐藏,不允许出现半汉字截断,超出后仍显示new图片,小于宽度自动跟随
    告别图片—使用字符实现兼容性的圆角尖角效果beta版
    常用JQuery插件整理
    获取不到header的自定义参数的值
    mavenresourcesproduction:xxxx: java.lang.NegativeArraySizeException
    Cannot find module '@babel/core'
    C# Set集合
    关于tomcat部署web服务方式
  • 原文地址:https://www.cnblogs.com/yy136/p/8595416.html
Copyright © 2011-2022 走看看