Spark基础转换及行动操作(python实验)

注意:实验前先引入包from pyspark.context import SparkContext ,还需配置 sc = SparkContext('local', 'test') ,然后才能用sc做操作。

一、常见的转换操作

1、map() : 将函数应用于RDD中的每个元素,将返回值构成新的RDD


2、flatMap() :将函数应用于RDD 中的每个元素,将返回的迭代器的所有内容构成新的RDD。通常用来切分单词(以[1,2,3,4]数据集为例)

3、filter() : 返回一个由通过传给filter()的函数的元素组成的RDD



4、distinct() :去重

5、sample(withReplacement, fraction, [seed]) :对RDD采样,以及是否替换(就是随机取几个出来,所以每次结果可能不一样)。

 

以上是对一个数据集处理,下面是针对两个以上的数据集

1、union() :生成一个包含两个RDD 中所有元素的RDD(是所有,不得去重


2、intersection() :求两个RDD 共同的元素的RDD


3、subtract() :移除一个RDD 中的内容(例如移除训练数据)


4、cartesian() : 与另一个RDD 的笛卡儿积


二、常见的行动操作

1、reduce() :它接收一个函数作为参数,这个函数要操作两个RDD 的元素类型的数据并返回一个同样类型的新元素。


上面例子中,若传入列表结果为9;若传入集合结果为6,这是因为python集合会去重了才作为参数传入计算。

2、fold() :它和reduce() 类似,接收一个与reduce() 接收的函数签名相同的函数,再加上一个“初始值”来作为每个分区第一次调用时的结果


3、collect() :返回RDD中的所有元素

注意:使用collect()要求数据不是很大,所有数据都必须能一同放入单台机器的内存中,常用于单元测试中。

4、count() :RDD 中的元素个数


5、countByValue():各元素在RDD 中出现的次数

 

实验得知,python返回的是一个字典,通过键可以获取对应次数。

6、take(num) :从RDD中返回num个元素


7、top(num) :从RDD中返回最前面的num个元素


8、takeOrdered(num):函数用于从RDD中,按照默认(降序)或者指定的排序规则,返回前num个元素。

9、takeSample(withReplacement, num, [seed]):从RDD中返回任意一些元素

10、aggregate(zeroValue)(seqOp, combOp):和reduce() 相似,但是通常返回不同类型的函数

11、foreach(func):对RDD中的每个元素使用给定的函数




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值