4.RDD操作

一、 RDD创建

    1. 从本地文件系统中加载数据创建RDD
    2. 从HDFS加载数据创建RDD
      启动hdfs
      上传文件
      查看文件
      加载
      停止hdfs
    3. 通过并行集合(列表)创建RDD
      输入列表、字符串、生成数组

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

 

 

 

 

 

 2.从HDFS加载数据创建RDD

  启动hdfs
      上传文件
  查看文件
  加载
  停止hdfs

 

 

 

 

 

 

 

 

 

 

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

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

 

 

 

二、 RDD操作

转换操作

    1. filter(func)
      显式定义函数
      lambda函数
    2. map(func)
      显式定义函数
      lambda函数

1.filter(func)

filter里面是一个布尔函数,为RDD的每个数据项计算,并将函数返回true的项放入新生成的RDD中

2.map(func)

 

 map里面的函数将所有数据项计算后逐一返回

3.flatMap(func)

  1. 分词
  2. 单词映射成键值对

 

 

 

 

 

4.reduceByKey()

  1. 统计词频,累加
  2. 乘法规则

 

 

 5.groupByKey()

  1. 单词分组
  2. 查看分组的内容
  3. 分组之后做累加 map

 

 

 6.sortByKey()

  词频统计按单词排序

7.sortBy()

  1. 词频统计按词频排序

 

 

 默认降序,false为升序

8.RDD写入文本文件

 

 

 

行动操作

    1. foreach(print)
      foreach(lambda a:print(a.upper())
    2. collect()
    3. count()
    4. take(n)
    5. reduce() 
      数值型的rdd元素做累加
      与reduceByKey区别

 

 

 

 reduce()把每个元素按序处理,而reduceByKey()是将元素按不同的key处理

posted @ 2022-03-16 11:36  林立文  阅读(82)  评论(0编辑  收藏  举报