常见的转化操作和行动操作

针对各个元素的转化操作

  • map()接收一个函数,把这个函数作用于RDD中的每个元素,将函数的返回值作为结果RDD中对应元素的值。

  • filter()接收一个函数,并将RDD中满足该函数的元素放入新的RDD中返回。

  • flatMap(),接收一个函数,把它应用到RDD中的每个元素,不过返回的不是一个元素,而是一个返回值序列的迭代器。但是,输出的RDD倒不是由迭代器组成的,而是一个包含各个迭代器可访问的所有元素的RDD。这也是flat一词的含义所在。

伪集合操作

  • union(other),它会返回一个包含两个RDD中所有元素的RDD。

  • intersection(other),只返回两个RDD中都有的元素。

  • subtract(other),返回一个只存在于第一个RDD中而不存在于第二个RDD中的所有元素组成的RDD。

  • cartesian(other),笛卡尔积,返回所有可能的(a, b),其中a是源RDD中的元素,而b则来自另一个RDD。

行动操作

  • reduce(),它接收一个函数作为参数,这个函数要做操作两个相同元素类型的RDD数据并返回一个同样类型的新元素。常见的例子是求和函数。

  • fold(),和reduce()类似,接收一个与reduce()接收的函数签名相同的函数,再加上一个“初始值”来作为每个分区第一次调用时的结果。你所提供的初始值应当是你提供的操作的单位元素,例如,对于求和函数,单位元素为0,对于求积函数,单位元素是1。

(本文为《Spark快速大数据分析》的学习笔记)

发布了533 篇原创文章 · 获赞 214 · 访问量 69万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: Age of Ai 设计师: meimeiellie

分享到微信朋友圈

×

扫一扫,手机浏览