zoukankan      html  css  js  c++  java
  • RDD的概念与创建

      1、RDD是整个Spark的计算基石。是分布式数据的抽象,为用户屏蔽了底层复杂的计算和映射环境

    •    RDD是不可变的,如果需要在一个RDD上进行转换操作,则会生成一个新的RDD
    •    RDD是分区的,RDD里面的具体数据是分布在多台机器上的Executor里面的。堆内内存和堆外内存 + 磁盘。
    •    RDD是弹性的。
        • 存储:Spark会根据用户的配置或者当前Spark的应用运行情况去自动将RDD的数据缓存到内存或者磁盘。他是一个对用户不可见的封装的功能。
        • 容错:当你的RDD数据被删除或者丢失的时候,可以通过血统或者检查点机制恢复数据。这个用户透明的。
        • 计算:计算是分层的,有应用->JOb->Stage->TaskSet-Task  每一层都有对应的计算的保障与重复机制。保障你的计算不会由于一些突发因素而终止。
        • 分片:你可以根据业务需求或者一些算子来重新调整RDD中的数据分布。

      2、Spark Core干了什么东西,其实就是在操作RDD

            RDD的创建--》RDD的转换--》RDD的缓存--》RDD的行动--》RDD的输出。

     3、RDD怎么创建?

            创建RDD有三种方式:

            1、可以从一个Scala集合里面创建

      •          sc.parallelize(seq)  把seq这个数据并行化分片到节点
      •          sc.makeRDD(seq)      把seq这个数据并行化分片到节点,他的实现就是parallelize
      •          sc.makeRDD(seq[(T,seq)]  这种方式可以指定RDD的存放位置

            2、从外部存储来创建,比如sc.textFile("path")

            3、从另外一个RDD转换过来。

  • 相关阅读:
    Android自动填写获取到的验证码
    java 调用mysql存储过程
    TreeMap按照key排序
    Java中的Map List Set等集合类
    Java 多线程 并发编程
    Linux查看端口、进程情况及kill进程
    采用正则表达式获取地址栏参数:( 强烈推荐,既实用又方便!)
    Wix 安装部署教程(十) --来,用WPF做个漂亮的安装界面
    Jquery Mobile 小结
    岂能尽如人意,但求无愧于心
  • 原文地址:https://www.cnblogs.com/alexzhang92/p/10776398.html
Copyright © 2011-2022 走看看