zoukankan      html  css  js  c++  java
  • RDD 到底是什么(视频笔记)

    1、RDD 只读的分区数据集合。
    2、RDD的依赖关系,生成RDD的血统。
    3、RDD支持基于工作集的运用。可以显性的将数据存储在内存中,可以支持高效数据重用。
    4、RDD是分布式数据编程的一种抽象
    5、RDD的特征
    a list of partitions(hdfs的一个分片就是一个partition,每个分片就是一个task;spark rdd是被分区的,
    对于RDD来说,每个分区都会被一个计算任务处理,并决定并行计算的粒度,RDD的每次转换操作都会声称新的RDD,
    在生成RDD时候,一般可以只定分区的数量,如果不指定分区的数量,当RDD从集合创建时,则默认为改程序做分配的资源的cpu核数,
    如果是从HDFS文件创建,则默认为文件的block数)
    RDD并行是从父类传递到子类的

    a function for computing each split
    每一个computing类似一个MR,只是MR写磁盘,RDD将多步的computing合并成一个。
    通过block manager来获取数据,具体的split都会被映射成block manager的block。

    a list of dependencies on other RDDs

    partitioner for key-value RDDs
    hash partitioner和range partitioner。针对的key-value的方式。
    partitioner决定后续并行分片数量。

    a list of prefered location to each split on
    spark 会尽可能将计算任务分配到数据所在机器。

    RDD的操作
    transformation(......)
    action (count,collect,reduce,lookup,save)

  • 相关阅读:
    Numpy(0)
    C++(成员函数做友元)
    C++(类做友元)
    CUDA---Arrayfire---添加cuda kernel
    CUDA--Arrayfire--类型转换
    C++(友元)
    C++(const修饰成员函数)
    C++(空指针访问成员函数)
    第9章 整合前端
    第8章 离不开的数据库
  • 原文地址:https://www.cnblogs.com/isenhome/p/5083559.html
Copyright © 2011-2022 走看看