| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> Spark RDD弹性分布式数据集(2)——转换算子 -> 正文阅读 |
|
[大数据]Spark RDD弹性分布式数据集(2)——转换算子 |
目录 2.3 flatMap 在map操作后,再flat(扁平化)操作 1.RDD的处理过程2.转换算子转换:根据已有RDD创建新的RDD,每一次通过转换算子计算后都会返回一个新的RDD,供给下一个转换算子使用 常用转换算子: 2.1 filter(func) 筛选在上一章RDD的创建中,/data目录下有test.txt文件 加载成RDD 输入:val lines=sc.textFile("file:///export/data/test.txt") 使用filter(func) 筛选 输入:val lineswitSpark = lines.filter(line=>line.contains("spark")) 意思是:RDDlines的值赋给line,line调用了一个contains方法判断是否有spark,若果有,则把这个值放在lineswitSpark中 2.2 map(func) 将元素传递到函数funcmap算子将文件内容拆分成一个个单词并封装在数组中 输入:val lines=sc.textFile("file:///export/data/test.txt") 输入:val words= lines.map(line=>line.split(" ")) 意思:RDDlines调用map算子,RDDlines的值赋给line,line调用了一个split方法,按照空格拆分每个单词,然后封装到数组中,赋给words 2.3 flatMap 在map操作后,再flat(扁平化)操作输入:val lines=sc.textFile("file:///export/data/test.txt") 输入:val words = lines.flatMap(line=>line.split(" ")) map得到数组 flatMap得到字符串 ?2.4 groupByKey()? 分组?例如:图中hadoop有两个,是一样的,分在一起,value是两个hadoop的value连在一起的 输入:val lines=sc.textFile("file:///export/data/test.txt") 输入:val words = lines.flatMap(line=>line.split(" ")).map(word=>(word,1)) 得到分开的单词后,调用map操作,映射成(每个单词,1) ?输入:val groupWords =words.groupByKey() ?2.5 reduceByKey(func)?跟group不同的是,reduce得到的数据集,的value,是相加 输入:val lines=sc.textFile("file:///export/data/test.txt") 输入:val words = lines.flatMap(line=>line.split(" ")).map(word=>(word,1)) 输入:val reduceWords =words.reduceByKey((a,b)=>a+b) 意思是:“hadoop” (1,1) 经过(a,b)=>a+b 【a为1,b为1 】后,成为 “hadoop” 2 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 4:50:03- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |