- 1、本文档共58页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
大数据技术原理与应用第十章Spark要点
16.6.2启动Spark Shell Spark Shell 提供了简单的方式来学习Spark API Spark Shell可以以实时、交互的方式来分析数据 Spark Shell支持Scala和Python ? ? 启动Spark Shell成功后在输出信息的末尾可以看到“Scala ”的命令提示符,如下图所示。 图6 可通过Yarn进行资源管理的应用 本章节内容选择使用Scala进行编程实践,了解Scala有助于更好地掌握Spark。 执行如下命令启动Spark Shell: 16.6.3 Spark RDD基本操作 Spark的主要操作对象是RDD,RDD可以通过多种方式灵活创建,可通过导入外部数据源建立,或者从其他的RDD转化而来。 在Spark程序中必须创建一个SparkContext对象,该对象是Spark程序的入口,负责创建RDD、启动任务等。在启动Spark Shell后,该对象会自动创建,可以通过变量sc进行访问。 作为示例,我们选择以Spark安装目录中的“README.md”文件作为数据源新建一个RDD,代码如下: ? Spark RDD支持两种类型的操作: 动作(action):在数据集上进行运算,返回计算值 转换(transformation): 基于现有的数据集创建一个新的数据集 ? Scala val textFile = sc.textFile(file:///usr/local/spark/README.md) // 通过file:前缀指定读取本地文件 16.6.3 Spark RDD基本操作 Spark提供了非常丰富的API,下面两表格列出了几个常用的动作、转换API,更详细的API及说明可查阅官方文档。 ? Action API 说明 count() 返回数据集中的元素个数 collect() 以数组的形式返回数据集中的所有元素 first() 返回数据集中的第一个元素 take(n) 以数组的形式返回数据集中的前n个元素 reduce(func) 通过函数func(输入两个参数并返回一个值)聚合数据集中的元素 foreach(func) 将数据集中的每个元素传递到函数func中运行 Transformation API 说明 filter(func) 筛选出满足函数func的元素,并返回一个新的数据集 map(func) 将每个元素传递到函数func中,并将结果返回为一个新的数据集 flatMap(func) 与map()相似,但每个输入元素都可以映射到0或多个输出结果 groupByKey() 应用于(K,V)键值对的数据集时,返回一个新的(K, IterableV)形式的数据集 reduceByKey(func) 应用于(K,V)键值对的数据集时,返回一个新的(K, V)形式的数据集,其中的每个值是将每个key传递到函数func中进行聚合 7-1常用的几个Action API介绍 7-2常用的几个Transformation API介绍 16.6.3 Spark RDD基本操作 使用action API - count()可以统计该文本文件的行数,命令如下: ? 输出结果 Long = 95( “Long=95”表示该文件共有95行内容)。? Scala textFile.count() 使用transformation API - filter()可以筛选出只包含Spark的行,命令如下: ? 第一条命令会返回一个新的RDD; 输出结果Long=17(表示该文件中共有17行内容包含“Spark”)。 Scala val linesWithSpark = textFile.filter(line = line.contains(Spark)) Scala linesWithSpark.count() 也可以在同一条代码中同时使用多个API,连续进行运算,称为链式操作。不仅可以使Spark代码更加简洁,也优化了计算过程。如上述两条代码可合并为如下一行代码: ? ? 假设我们只需要得到包含“Spark”的行数,那么存储筛选后的文本数据是多余的,因为这部分数据在计算得到行数后就不再使用到了。Spark基于整个操作链,仅储存、计算所需的数据,提升了运行效率。 Scala val linesCountWithSpark = textFile.filter(line = line.contains(Spark)).count() 16.6.3 Spark RDD基本操作 Spark属于MapReduce计算模型,因此也可以实现M
您可能关注的文档
- 液压与气压传动绪论.ppt
- 大学物理第十一章 静电场.ppt
- 液氨MSDS.doc
- 液氨储罐的腐蚀与防护.doc
- 液环真空泵压缩机检修规程.doc
- 液相色谱常见问题及其对策.ppt
- 淋球菌培养及鉴定.ppt
- 涡阳河畔清华2016年度营销方案60p.ppt
- 涵曦简介简洁版.pptx
- 淘宝客服语言规范标准培训.ppt
- TZKJXX-网络预约出租汽车车载卫星导航定位终端.pdf
- 广西玉林市(2024年-2025年小学六年级语文)统编版小升初模拟(上学期)试卷及答案.docx
- 广西玉林市(2024年-2025年小学六年级语文)部编版能力评测(上学期)试卷及答案.docx
- 广西贺州市(2024年-2025年小学六年级语文)统编版能力评测(上学期)试卷及答案.docx
- 广西贵港市(2024年-2025年小学六年级语文)统编版质量测试(下学期)试卷及答案.docx
- 广西贵港市(2024年-2025年小学六年级语文)部编版综合练习(上学期)试卷及答案.docx
- 广西钦州市(2024年-2025年小学六年级语文)统编版期中考试((上,下)学期)试卷及答案.docx
- 广西玉林市(2024年-2025年小学六年级语文)人教版课后作业((上,下)学期)试卷及答案.docx
- (试题)知识考核城市管理网格员二级题库及答案完整版(答案在末尾).docx
- (试题)基础考试城市管理网格员二级题库及答案完整版(答案在末尾).docx
最近下载
- 非ST段抬高型急性冠脉综合征诊断和治疗指南(2024)解读.pptx
- 造价咨询采购项目审计服务方案造价咨询方案审计工作要求及时限审计工作安排和保障措施对项目审计的总体分析.docx VIP
- 矿山井巷工程施工及验收规范GBJ213-90.doc
- 浙江省宁波市九校2024-2025学年高一上学期数学期末联考试卷.docx
- 林木委托管护合同.doc VIP
- XHJ-SCB-QR-026开机换线检查表.xls VIP
- 幼儿园书法练字启蒙第二讲完整课件.pptx VIP
- (完整版)千字文带拼音直接打印版.pdf
- 2025年广州中考英语二轮复习语法专项复习课件:专项整合复习一+名词篇.pptx VIP
- 宾馆食品安全知识培训.pptx
文档评论(0)