Spark大数据处理学习笔记(3.2.2)掌握RDD算子

三、掌握行动算子
3.1 归约算子 - reduce()
功能:

reduce()算子按照传入的函数进行归约计算
案例:

计算1 + 2 + 3 + …+100的值
计算1 × 2 × 3 × 4 × 5 × 6 的值(阶乘 - 累乘)

计算12 + 22 + 32 + 42 + 5**2的值(先映射,后归约)

3.2 采集算子 - collect()
功能:

collect()算子向Driver以数组形式返回数据集的所有元素。通常对于过滤操作或其他返回足够小的数据子集的操作非常有用。
案例:

显示RDD的全部元素

3.3 首元素算子 - first()
功能:

first()算子返回数据集中第一个元素
案例:

显示RDD的首元素

3.4 计数算子 - count()
功能:

count()算子统计RDD的元素个数
案例:

统计RDD的元素个数

如果要统计单词个数,那就要采用扁平映射算子

3.5 按键计数算子 - countByKey()
功能:

countByKey()算子按键统计RDD键值出现的次数,返回由键值和次数构成的映射。
案例:

List集合中存储的是键值对形式的元组,使用该List集合创建一个RDD,然后对其进行countByKey的计算。

注意:元素必须是键值对的二元组,不能是三元组

3.6 前截取算子 - take(n)
功能:

take(n)算子返回RDD的前n个元素(同时尝试访问最少的partitions),返回结果是无序的,测试使用
案例:
返回集合中前任意多个元素组成的数组

三种情况:返回空集、真子集、全集
3.7 排序前截取算子 - takeOrdered(n)[(ordering)]
功能:

takeOrdered(n, [ordering])算子返回RDD中的前n个元素,并以自然顺序或自定义的比较器顺序进行排序
案例:
返回RDD前n个元素(升序)

返回前n个元素(降序)

其实,可以top(n)算子来实现同样的效果,更简单

3.8 遍历算子 - foreach()
功能:

计算 RDD中的每一个元素,但不返回本地(只是访问一遍数据),可以配合println友好地打印数据。
案例:
将RDD里的每个元素平方后输出(一定要采集,才能遍历)

将RDD的内容逐行打印输出

3.9 存文件算子 - saveAsFile()
功能:

将RDD数据保存到本地文件或HDFS文件
案例:
将rdd内容保存到HDFS的/park/out目录

查看另存的结果文件

你可能感兴趣的:(Spark,spark,学习,笔记)