首页 理论教育 RDD简介及操作示例

RDD简介及操作示例

时间:2023-10-29 理论教育 版权反馈
【摘要】:Transformation操作是指从新的数据集中将数据集的每一个元素传递给函数,并返回一个新的分布数据集表示结果。RDD的Transformation操作是有惰性的,不会立即执行,需要Action操作触发。RDD的这种设计既可以避免很多无用的行为,也可以更加高效地运行。驱动程序最终关注的是Action操作后的结果,而不是中间的数据集。Filter操作返回一个RDD,包含了所有满足过滤条件的元素。Distinct操作返回RDD中所有相异的元素,排除相同的元素。经过Distinct操作后,每个数据将只出现一次。

RDD简介及操作示例

RDD的基本操作主要有转换(Transformation)操作和行动(Action)操作。

Transformation操作是指从新的数据集中将数据集的每一个元素传递给函数,并返回一个新的分布数据集表示结果。而Action操作后,RDD不再是数据集,而是一个值,并将该值返回给驱动程序,如Reduce是一个动作,通过一些函数将所有元素叠加起来,并将最终结果返回给Driver程序。

RDD的Transformation操作是有惰性的,不会立即执行,需要Action操作触发。RDD的这种设计既可以避免很多无用的行为,也可以更加高效地运行。驱动程序最终关注的是Action操作后的结果,而不是中间的数据集。例如,通过map()函数转换而来的新数据集将count()的结果给驱动程序,而不是整个过程数据集。

1)Transformation

Transformation操作包括map、Filer、Distinct、Sample等。

(1)map操作将RDD[T]中每个元素进行函数运算、映射,生成RDD。

(2)Filter操作返回一个RDD,包含了所有满足过滤条件的元素。

(3)Distinct操作返回RDD中所有相异的元素,排除相同的元素。经过Distinct操作后,每个数据将只出现一次。

(4)Sample操作从数据中抽取一定比例的数据子集。

其他操作还包括Union操作、Coalesce操作、Repartition操作、Mappartitions操作、Join操作等。(www.xing528.com)

2)Action

Action操作包括以下内容。

(1)创建新的RDD,代码如下:

(2)将RDD保存为本地集合,代码如下:

(3)返回前k个元素,代码如下:

(4)计算元素的总数,代码如下:

(5)合并集合元素,代码如下:

(6)将RDD写入HDFS,代码如下:

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈