目录一、 RDD创建从本地文件系统中加载数据创建RDD从hdfs加载数据创建RDD通过并行集合(列表)创建RDD二、 RDD操作转换操作filter(func)map(func)flatMap(func)reduceByKey()grou
本地文件系统中加载数据创建RDD
Spark采用textFile()方法来从文件系统中加载数据创建RDD
该方法把文件的URI作为参数,这个URI可以是:
本地文件系统的地址
或者是分布式文件系统HDFS的地址
或者是Amazon S3的地址等等
启动hdfs
上传文件
查看文件
spark内加载文件
textFile默认是读hdfs,所以hdfs可以省略。
hdfs的默认目录,前三条语句是完全等价的,可以使用其中任意一种方式
不是默认目录,要还上路径
停止hdfs
对于RDD而言,每一次转换操作都会产生新的RDD,供给下一个“转换”使用
转换得到的RDD是惰性求值的,也就是说,整个转换过程只是记录了转换的轨迹,并不会发生真正的计算,只有遇到行动操作时,才会发生真正的计算,开始从血缘关系源头开始,进行物理的转换操作
操作 | 含义 |
---|---|
filter(func) | 筛选出满足函数func的元素,并返回一个新的数据集 |
map(func) | 将每个元素传递到函数func中,并将结果返回为一个新的数据集 |
flatMap(func) | 与map()相似,但每个输入元素都可以映射到0或多个输出结果 |
groupByKey() | 应用于(K,V)键值对的数据集时,返回一个新的(K, Iterable)形式的数据集 |
reduceByKey(func) | 应用于(K,V)键值对的数据集时,返回一个新的(K, V)形式的数据集,其中每个值是将每个key传递到函数func中进行聚合后的结果 |
显式定义函数
结果不明显,换个关键词
lambda函数
字符串分词
显式定义函数
lambda函数
数字加100
显式定义函数
lambda函数
字符串加固定前缀
显式定义函数
lambda函数
分词
单词映射成键值对
统计词频,累加
乘法规则
单词分组
查看分组的内容
分组之后做累加 map
词频统计按单词排序
词频统计按词频排序
行动操作是真正触发计算的地方。Spark程序执行到行动操作时,才会执行真正的计算,从文件中加载数据,完成一次又一次转换操作,最终,完成行动操作得到结果。
操作 | 含义 |
---|---|
count() | 返回数据集中的元素个数 |
collect() | 以数组的形式返回数据集中的所有元素 |
first() | 返回数据集中的第一个元素 |
take(n) | 以数组的形式返回数据集中的前n个元素 |
foreach(func) | 将数据集中的每个元素传递到函数func中运行 |
reduce(func) | 通过函数func(输入两个参数并返回一个值)聚合数据集中的元素 |
foreach(print)
foreach(lambda a:print(a.upper())
数值型的rdd元素做累加
与reduceByKey区别
reduceByKey(func)应用于(K,V)键值对的数据集时,返回一个新的(K, V)形式的数据集,其中的每个值是将每个key传递到函数func中进行聚合后得到的结果
原文地址:https://www.cnblogs.com/DingyLand/arcHive/2022/03/30/homework_04_.html
--结束END--
本文标题: 4.RDD操作
本文链接: https://lsjlt.com/news/9216.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0