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

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

上传文件

查看文件

停止hdfs

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

字符串
numpy生成数组
二、 RDD操作
转换操作
1.转换操作
1.filter(func)
显式定义函数

lambda函数

- 2.map(func)
- 1.字符串分词
- 显式定义函数
lambda函数
-
2.数字加100![]()
- 显式定义函数
![]()
- lambda函数
![]()
- 3.字符串加固定前缀
![]()
3.flatMap(func)
1.分词

2.单词映射成键值对

4.reduceByKey()
1.统计词频,累加

2.乘法规则

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

6.sortByKey()
1.词频统计按单词排序

7.sortBy()
1.词频统计按词频排序

8. RDD写入文本文件
- 写入本地文件系统,并查看结果


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


行动操作
- foreach(print)
foreach(lambda a:print(a.upper()) - collect()
- count()
- take(n)
- foreach(print)

5.reduce()
数值型的rdd元素做累加与reduceByKey区别
reduce:把RDD中的每一个元素拿出来处理并形成一个新的RDD元素 (reduce是将元素一个一个的处理)
reduceByKey:把RDD中的key相同的一组数据拿出来处理,形成一个新的RDD里面放的是元组
reduce处理数据时有着一对一的特性,而reduceByKey则有着多对一的特性。比如reduce中会把数据集合中每一个元素都处理一次,并且每一个元素都对应着一个输出。而reduceByKey则不同,它会把所有key相同的值处理并且进行归并,其中归并的方法可以自己定义。




浙公网安备 33010602011771号