5RDD操作综合实例(附上第四次作业 补交)

4RDD

一、 RDD创建

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

 

   2.从HDFS加载数据创建

 

 

 

 

 

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

    输入列表,字符串,numpy生成数组

    

二、 RDD操作

转换操作

1. map(func)

2. filter(func)

 

 

 

行动操作

1.foreach(print)

2.collect()

3.flatMap(func)

 

4.reduceByKey()

5. groupByKey()

6.sortByKey()

7.sortBy()

 

 

 

行动操作

1.foreach(print)
  foreach(lambda a:print(a.upper())

2.collect()

3.count()

4.take(n)

5.reduce() 

 

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

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

 

 

 

 

 

 

 

5RDD操作综合实例

一、词频统计

A. 分步骤实现 

  1. 准备文件
    1. 下载小说或长篇新闻稿

       

       

    2. 上传到hdfs上

       

       

    3. 读文件创建RDD

       

       


       

       

  2. 分词

     

     

  3. 排除大小写lower(),map()
    标点符号re.split(pattern,str),flatMap(),

     

     


    停用词,可网盘下载stopwords.txt,filter(),
    长度小于2的词filter()

     

     

  4. 统计词频

     

     

  5. 按词频排序

     

     

  6. 输出到文件

     

     

  7. 查看结果

     

     

B. 一句话实现:文件入文件出

 

 |

 

 

C. 和作业2的“二、Python编程练习:英文文本的词频统计 ”进行比较,理解Spark编程的特点。

 

二、求Top值

网盘下载payment.txt文件,通过RDD操作实现选出最大支付额的用户。

 

 

 

 

    1. 丢弃不合规范的行:
      • 空行
      • 少数据项
      • 缺失数据

         

         

         

         

         

    2. 支付金额转换为数值型,按支付金额排序

       

       

    3. 取出Top3

       

posted @ 2022-04-06 14:26  yqy_fyl  阅读(45)  评论(0)    收藏  举报