RDD操作

 

一、 RDD创建

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

      

    2、从HDFS加载数据创建RDD
      启动hdfs

      

      上传文件

      

      查看文件

      

        

      停止hdfs

      

  3、通过并行集合(列表)创建RDD
      输入列表

      

 

      字符串
      numpy生成数组

二、 RDD操作

转换操作

  1.转换操作

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

      

      lambda函数

      

  1. 2.map(func)
  2.       1.字符串分词
    1.  显式定义函数
    2.    

               lambda函数

      1. 2.数字加100
      2. 显式定义函数
      3. lambda函数
      4. 3.字符串加固定前缀

    3.flatMap(func)

      1.分词

       

 

 

 

      2.单词映射成键值对

      

 

 

 

    4.reduceByKey()

      1.统计词频,累加

      

      2.乘法规则

      

 

 

 

     5.groupByKey()

      1.单词分组

      2.查看分组的内容

           

      3.分组之后做累加 map

      

 

 

 

    6.sortByKey()

      1.词频统计按单词排序

      

 

 

   

    7.sortBy()

      1.词频统计按词频排序

      

      8. RDD写入文本文件

      1. 写入本地文件系统,并查看结果

        

        

          2.写入分布式文件系统,并查看结果

        

        

 

 

 

    行动操作

      1. foreach(print)
        foreach(lambda a:print(a.upper())
      2. collect()
      3. count()
      4. take(n)

      

 

 

 

 

 

 

      5.reduce() 

      数值型的rdd元素做累加与reduceByKey区别

         reduce:把RDD中的每一个元素拿出来处理并形成一个新的RDD元素 (reduce是将元素一个一个的处理)

      reduceByKey:把RDD中的key相同的一组数据拿出来处理,形成一个新的RDD里面放的是元组

      reduce处理数据时有着一对一的特性,而reduceByKey则有着多对一的特性。比如reduce中会把数据集合中每一个元素都处理一次,并且每一个元素都对应着一个输出。而reduceByKey则不同,它会把所有key相同的值处理并且进行归并,其中归并的方法可以自己定义。

 

posted @ 2022-03-27 21:13  Eudemonia⁰  阅读(162)  评论(0)    收藏  举报