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

衔接上文:http://t.csdn.cn/Z0Cfj

文章目录

  • 三、掌握行动算子
    • 3.1 归约算子 - reduce()
    • 3.2 采集算子 - collect()
    • 3.3 首元素算子 - first()
    • 3.4 计数算子 - count()
    • 3.5 按键计数算子 - countByKey()
    • 3.6 前截取算子 - take(n)
    • 3.7 排序前截取算子 - takeOrdered(n)[(ordering)]
    • 3.8 遍历算子 - foreach()
    • 3.9 存文件算子 - saveAsFile()


三、掌握行动算子

3.1 归约算子 - reduce()

功能:

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

案例:

  • 计算1 + 2 + 3 + …+100的值Spark大数据处理学习笔记(3.2.2)掌握RDD算子_第1张图片
  • 计算1 × 2 × 3 × 4 × 5 × 6 的值(阶乘 - 累乘)
    Spark大数据处理学习笔记(3.2.2)掌握RDD算子_第2张图片
  • 计算12 + 22 + 32 + 42 + 5**2的值(先映射,后归约)
    Spark大数据处理学习笔记(3.2.2)掌握RDD算子_第3张图片

3.2 采集算子 - collect()

功能:

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

案例:

  • 显示RDD的全部元素
    Spark大数据处理学习笔记(3.2.2)掌握RDD算子_第4张图片

3.3 首元素算子 - first()

功能:

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

案例:

  • 显示RDD的首元素
    Spark大数据处理学习笔记(3.2.2)掌握RDD算子_第5张图片

3.4 计数算子 - count()

功能:

  • count()算子统计RDD的元素个数

案例:

  • 统计RDD的元素个数
    Spark大数据处理学习笔记(3.2.2)掌握RDD算子_第6张图片
  • 如果要统计单词个数,那就要采用扁平映射算子
    Spark大数据处理学习笔记(3.2.2)掌握RDD算子_第7张图片

3.5 按键计数算子 - countByKey()

功能:

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

案例:

  • List集合中存储的是键值对形式的元组,使用该List集合创建一个RDD,然后对其进行countByKey的计算。
    Spark大数据处理学习笔记(3.2.2)掌握RDD算子_第8张图片
  • 注意:元素必须是键值对的二元组,不能是三元组
    Spark大数据处理学习笔记(3.2.2)掌握RDD算子_第9张图片

3.6 前截取算子 - take(n)

功能:

  • take(n)算子返回RDD的前n个元素(同时尝试访问最少的partitions),返回结果是无序的,测试使用
    案例:
  • 返回集合中前任意多个元素组成的数组
    Spark大数据处理学习笔记(3.2.2)掌握RDD算子_第10张图片
  • 三种情况:返回空集、真子集、全集

3.7 排序前截取算子 - takeOrdered(n)[(ordering)]

功能:

  • takeOrdered(n, [ordering])算子返回RDD中的前n个元素,并以自然顺序或自定义的比较器顺序进行排序
    案例:
  • 返回RDD前n个元素(升序)
    Spark大数据处理学习笔记(3.2.2)掌握RDD算子_第11张图片
  • 返回前n个元素(降序)
    Spark大数据处理学习笔记(3.2.2)掌握RDD算子_第12张图片
  • 其实,可以top(n)算子来实现同样的效果,更简单
    Spark大数据处理学习笔记(3.2.2)掌握RDD算子_第13张图片

3.8 遍历算子 - foreach()

功能:

  • 计算 RDD中的每一个元素,但不返回本地(只是访问一遍数据),可以配合println友好地打印数据。
    案例:
  • 将RDD里的每个元素平方后输出(一定要采集,才能遍历)
    Spark大数据处理学习笔记(3.2.2)掌握RDD算子_第14张图片
  • 将RDD的内容逐行打印输出
    Spark大数据处理学习笔记(3.2.2)掌握RDD算子_第15张图片

3.9 存文件算子 - saveAsFile()

功能:

  • 将RDD数据保存到本地文件或HDFS文件
    案例:
  • 将rdd内容保存到HDFS的/park/out目录
    Spark大数据处理学习笔记(3.2.2)掌握RDD算子_第16张图片
  • 查看另存的结果文件

你可能感兴趣的:(#,Spark大数据处理学习笔记,spark,学习,笔记)