4.RDD操作

Spark RDD编程的基础学习,学习如何创建RDD、数据的读写等操作

一、RDD创建

1.从本地文件系统中加载数据创建RDD

  • SparkContext的创建

  • 从文件系统中加载数据创建RDD

  • 与原文件对比

2.从HDFS加载数据创建RDD

  • 启动hdfsstart-all.sh

  • 上传文件hdfs dfs -put 要上传的文件路径 上传目的路径

  • 查看文件hdfs dfs -ls 要查看的文件目录

  • 加载sc.textFile("hdfs://master:9000/user/hadoop/hwt.txt")

  • 停止hdfsstop-all.sh

3.通过并行集合(列表)创建RDD

  • 输入列表、字符串、生成数组

二、RDD操作

转换操作

1.filter(func)

  • 传入lambda匿名函数

  • 显式定义函数

2.map(func)

  • 字符串分词
  • lambda函数

  • 显式定义函数

  • 数字加100
  • lambda函数

  • 显式定义函数

  • 字符串加固定前缀
  • lambda函数

  • 显式定义函数

3.flatMap(func)

  • 分词

  • 单词映射成键值对

4.reduceByKey()

  • 统计词频,累加

  • 乘法规则

5.groupByKey()

  • 单词分组

  • 查看分组的内容

  • 分组之后做累加 map

行动操作

1.foreach(print) —-将数据集中的每个元素进行输出

foreach(lambda a:print(a.upper())) —-将数据集中的每个元素传递到lambda函数中运行

2.collect() —-以数组的形式返回数据集中的所有元素

3.count() —-返回数据集中的元素个数

4.first() —-返回数据集中的第一个元素

5.take(n) —-以数组的形式返回数据集中的前n个元素

6.reduce() —-通过函数func(输入两个参数并返回一个值)聚合数据集中的元素

  • 数值型的rdd元素做累加

  • 与reduceByKey区别

reduce : reduce将RDD中元素前两个传给输入函数,产生一个新的return值,新产生的return值与RDD中下一个元素(第三个元素)组成两个元素,再被传给输入函数,直到最后只有一个值为止。

reduceByKey : 对元素为KV对的RDD中Key相同的元素的Value进行binary_function的reduce操作,因此,Key相同的多个元素的值被reduce为一个值,然后与原RDD中的Key组成一个新的KV对。

本网页由快兔兔AI采集器生成,目的为演示采集效果,若侵权请及时联系删除。

原文链接:https://www.cnblogs.com/Yeav/p/16007942.html

更多内容