后悔过去,不如奋斗将来。——马克思

Spark中,RDD操作分为两种:transformation() 和 action() 操作。

两者的区别是action()操作一般是对数据结果进行后处理(post-ation), 产生输出结果,而且会出发Spark提交job真正执行数据处理任务。

答案: ACD

Spark中,RDD操作分为两种:transformation() 和 action() 操作。

两者的区别是actin()操作一般是对数据结果进行后处理(post-ation), 产生输出结果,而且会出发Spark提交job真正执行数据处理任务。

转换(transformation)

转换(transformation):即从现有的数据集创建一个新的数据集,返回一个新的RDD 的操作。Transformation都是惰性的,它们并不会直接计算结果。它们只是记住了这些应用到基础数据集上的转换动作。只有当发生一个要求返回结果给Driver的Action时,这些Transformation才会真正运行。

行动(action)

动作(action),即在数据集上进行计算后,返回一个值给Driver程序。

RDD的基础操作API介绍:

操作类型

函数名

作用

转化操作

map()

参数是函数,函数应用于RDD每一个元素,返回值是新的RDD

flatMap()

参数是函数,函数应用于RDD每一个元素,将元素数据进行拆分,变成迭代器,返回值是新的RDD

filter()

参数是函数,函数会过滤掉不符合条件的元素,返回值是新的RDD

distinct()

没有参数,将RDD里的元素进行去重操作

union()

参数是RDD,生成包含两个RDD所有元素的新RDD

intersection()

参数是RDD,求出两个RDD的共同元素

subtract()

参数是RDD,将原RDD里和参数RDD里相同的元素去掉

cartesian()

参数是RDD,求两个RDD的笛卡儿积

行动操作

collect()

返回RDD所有元素

count()

RDD里元素个数

countByValue()

各元素在RDD中出现次数

reduce()

并行整合所有RDD数据,例如求和操作

fold(0)(func)

和reduce功能一样,不过fold带有初始值

aggregate(0)(seqOp,combop)

和reduce功能一样,但是返回的RDD数据类型和原RDD不一样

foreach(func)

对RDD每个元素都是使用特定函数

;
版权声明: 本文为智客工坊「楠木大叔」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

results matching ""

    No results matching ""