Spark中transformations和rdd函数有什么区别?

4
我正在阅读Spark教材,看到了转换和操作,又看到了RDD函数,让我感到困惑。请问有人能解释一下转换和Spark RDD函数之间的基本区别吗?
两者都用于更改RDD数据内容并返回一个新的RDD,但我想知道精确的解释。
3个回答

6
Spark的rdd函数既包括转换(transformations)也包括操作(actions)。转换是指可以改变rdd数据的函数,而操作则是指不会改变数据但会输出结果的函数。
例如: map、filter、union等都是转换,因为它们有助于改变现有数据。 reduce、collect、count等都是操作,因为它们提供输出而不改变数据。
更多信息请访问Spark和Jacek的网站:SparkJacek

1
RDD支持两种操作:转换操作(从现有数据集创建新数据集)和行动操作(在数据集上运行计算后将值返回给驱动程序)。
“RDD函数”是指教材中用于描述内部机制的通用术语。
例如,MAP是一种转换操作,它通过一个函数传递每个数据集元素,并返回代表结果的新RDD。REDUCE是一种行动操作,使用某些函数聚合RDD的所有元素,并将最终结果返回给驱动程序。

0

由于Spark的集合是不可变的,一旦RDD被创建,我们就无法更改数据。 转换是应用于RDD并产生其他RDD作为输出的函数(例如:mapflatMapfilterjoingroupBy等)。 操作是应用于RDD并产生非RDD(数组、列表等)数据作为输出的函数(例如:countsaveAsTextforeachcollect等)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接