5.3 RDD 的转换(transformation)

在 RDD 上支持 2 种操作:

  1. transformation

    从一个已知的 RDD 中创建出来一个新的 RDD 例如: map就是一个transformation.

  2. action

    在数据集上计算结束之后, 给驱动程序返回一个值. 例如: reduce就是一个action.

本节学习 RDD 的转换操作, Action操作下节再学习.


在 Spark 中几乎所有的transformation操作都是懒执行的(lazy), 也就是说transformation操作并不会立即计算他们的结果, 而是记住了这个操作.

只有当通过一个action来获取结果返回给驱动程序的时候这些转换操作才开始计算.

这种设计可以使 Spark 运行起来更加的高效.


默认情况下, 你每次在一个 RDD 上运行一个action的时候, 前面的每个transformed RDD 都会被重新计算.

但是我们可以通过persist (or cache)方法来持久化一个 RDD 在内存中, 也可以持久化到磁盘上, 来加快访问速度. 后面有专门的章节学习这种持久化技术.


根据 RDD 中数据类型的不同, 整体分为 2 种 RDD:

  • Value类型

  • Key-Value类型(其实就是存一个二维的元组)

Copyright © 尚硅谷大数据 2019 all right reserved,powered by Gitbook
该文件最后修订时间: 2019-08-09 00:21:43

results matching ""

    No results matching ""