2、Spark-Core概述

2.1 什么是RDD

  • RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合.
    • Dataset:一个数据集,简单的理解为集合,用于存放数据的
    • Distributed:它的数据是分布式存储,并且可以做分布式的计算
    • Resilient:弹性的
      • 它表示的是数据可以保存在磁盘,也可以保存在内存中
      • 数据分布式也是弹性的

2.2 RDD特性

  • 分区:数据可以存储在不同的机器内存上。

    • 集合
    • 分布式
  • 依赖:每一步计算都依赖于上一步计算的结果

    • 只读
    • 不可变
    • 容错
  • 缓存:数据可以利用灵活的缓存策略进行存储。

    • 默认缓存到内存
    • 支持灵活的缓存策略

    可选项:针对于 kv 键值对的RDD才具有该分区特性(内存,磁盘,内存和磁盘)(spark中的计算数据仍然采用k,v键值对)

2.3 RDD的核心属性:调度和计算都依赖于这五个属性

  • 分区列表:多个分区放在一起,便于管理
  • 依赖列表:记录着每一个计算中的依赖关系
  • Compute函数,用于计算RDD各分区的值
  • 分区策略(可选):根据自定义策略可以调整分区大小,分区的个数。
  • 优先位置列表(可选,HDFS实现数据本地化,避免数据移动)

results matching ""

    No results matching ""