繁体   English   中英

spark中的转换和rdd函数有什么区别?

[英]What is difference between transformations and rdd functions in spark?

我正在阅读 spark 教科书,我看到了转换和动作,我再次阅读了 rdd 函数,所以我很困惑,谁能解释一下转换和 spark rdd 函数之间的基本区别。

两者都用于更改 rdd 数据内容并返回一个新的 rdd 但我想知道确切的解释。

Spark rdd函数既是transformations又是actions Transformation是改变rdd数据的函数, Action是一个不改变数据但给出输出的函数。
例如 :
mapfilterunion等都是transformation因为它们有助于更改现有数据。 reducecollectcount都是action因为它们提供输出而不是更改数据。 欲了解更多信息,请访问SparkJacek

RDD 仅支持两种类型的操作:转换,从现有数据集创建新数据集,以及操作,在对数据集运行计算后将值返回给驱动程序。

RDD Functions是教科书中用于内部机制的通用术语。

例如,MAP 是一种转换,它通过一个函数传递每个数据集元素并返回一个表示结果的新 RDD。 REDUCE 是一个动作,它使用某个函数聚合 RDD 的所有元素,并将最终结果返回给驱动程序。

由于 Spark 的集合本质上是不可变的,因此一旦 RDD 被创建,我们就无法更改数据。 转换是应用于 RDD 并在输出中产生其他 RDD 的函数(即: mapflatMapfilterjoingroupBy ,...)。 动作是应用于 RDD 并产生非 RDD(数组、列表...等)数据作为输出的saveAsText (即: countsaveAsTextforeachcollect ,...)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM