- 1、本文档共64页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第2章SparkRDD离线数据计算Spark大数据分析与实战
01RDD基本原理和编程模型0203目录CONTENTS04Spark文件读写SparkRDD数据计算实例SparkRDD常用操作
01RDD基本原理和编程模型RDD基本原理RDD编程模型
RDD基本原理Dataset:海量数据集合,是一种过程性的数据集,用过的数据会被丢弃(除非缓存)Distributed:通过分区机制分散到不同计算节点Resilient:存储在内存或磁盘,容错,动态分区Readonly:只读,每次计算会生成新的RDDRDD(ResilientDistributedDataset,弹性分布式数据集)是Spark的核心设计理念,代表一个不可变、可分区且可在不同节点(计算机)并行计算的“数据集合”,是一种分布式计算模型的极佳数据抽象RDD是Spark的一个关键数据结构。一方面,RDD是一种可容纳海量数据的集合;另一方面,RDD的数据元素是分布式的,这意味着数据可位于不同计算机的内存中,但在逻辑上仍属于一个整体,使用起来也和普通的集合没太大差异
RDD数据集在实现上被划分成多个分区(即分组),这些分区数据可单独分配到不同的计算节点上,从而实现分布式计算的功能当Spark读取文件时,每个数据块被转换为RDD的一个分区,这些分区共同构成完整的RDD数据集。RDD的每个分区数据之所以能在不同计算节点上处理。虽然RDD数据集在逻辑上是一个整体,但在形态上是以“分区”为单位将数据块分散到不同节点上去计算处理的RDD基本原理
RDD编程模型RDD的编程模型类似一种流水线的操作,流水线上生成的各RDD经过反复迭代计算,会源源不断产生新的RDD。自RDD的创建开始,中间经过若干次的Transformation迭代,直到Action为止,这样就能得到处理后的结果数据,整个计算过程即宣告结束Spark主要支持两类与RDD相关的操作:Transformation(转换)算子和Action(行动)算子转换算子,是指一个在RDD数据集上的并行化方法的调用,它们都是RDD对象上的方法,形式上类似普通Python对象方法,但能够支持在集群节点上并行执行。当转换算子作用于RDD时,会生成一个新的RDD,比如map、filter、reduceByKey等都是转换算子行动算子是用来真正启动执行RDD转换计算的,并将产生的结果数据返回应用程序或保存到磁盘,像collect、saveAsTextFile等都是行动算子
RDD编程模型RDD的转换操作采取了一种称为“lazy”的延迟计算工作模式,即延迟执行。也就是说,调用RDD的转换算子,并不会被立即提交到CPU上执行,只有在遇到RDD的行动算子时,才会开始启动整个RDD计算链的执行,所以行动算子也可以被看成触发RDD转换计算执行的一个“发令枪”RDD的转换操作,实际只是一系列的计算步骤,类似于“工作计划”,只有等到执行RDD行动算子时,才会启动真正的运行。正是这种设计,Spark在实际执行RDD的数据元素计算之前,可以先优化整个计算链
RDD编程模型Spark支持的RDD功能操作,可在pyspark命令启动的PySparkShell交互式编程环境中查看在“.”之后连续按两次Tab键,此时终端会列出所有在RDD数据集上支持的Transformation(转换)操作和Action(行动)操作PySparkShell编程环境支持自动补全内容,这意味着用户只需输入部分代码的关键字母,比如rdd.co,然后按Tab键,系统会自动补全以co开头的方法。如果以co开头的方法不只有一个,PySparkShell就会把它们全部列出来,在这种情形下,只需继续输入方法的其他关键字母直到能区分出来为止,再次按Tab键后,完整的方法名字就自动补全了
02SparkRDD常用操作RDD的创建RDD的转换操作(Transformation)RDD的行动操作(Action)
RDD的创建在使用RDD对数据进行处理之前,一般要先准备好数据源。Spark为用户设计了各种方便得到初始RDD的途径,包括从普通Python集合创建RDD(List列表数组、Touple元组、Set集合等)、从外部文件创建RDD(本地文件、HDFS系统文件等)(1)从集合元素创建RDD这里创建的RDD返回的是一个ParallelCollectionRDD类型的对象,代表“并行化的集合”,可以跨机器分散到不同节点上,而Python集合只能是一个整体,且只能在一台机器上存放
RDD的创建(1)从集合元素创建RDDRDD的并行能力也是通过内部的分区机制来实现的,在使用parallelize()方法创建RDD时,也可以明确指定分区的数量,若不指定则会按默认的分区数处理
RDD的创建代码中的paral
您可能关注的文档
- Spark大数据分析与实战(Python+PySpark)课件 第1章 Spark大数据平台与环境搭建.pptx
- Spark大数据分析与实战(Python+PySpark)课件 第3章 SparkSQL离线数据处理.pptx
- Spark大数据分析与实战(Python+PySpark)课件 第4章 SparkStreaming流数据计算.pptx
- Spark大数据分析与实战(Python+PySpark)课件 第5章 Spark编程进阶.pptx
- Spark大数据分析与实战(Python+PySpark)课件 第6章 Spark大数据分析综合案例.pptx
- Spark大数据分析与实战(Python+PySpark)课件全套 第1--6章 Spark大数据平台与环境搭建---- Spark大数据分析综合案例.pptx
- 5G 云游戏服务平台商业计划书.docx
- 摄影工作室商业计划书.docx
- “社交会员专属,畅享活动资源” 社交互动会员制商业计划书.docx
- 2025年高铁制动盘市场调查报告.docx
最近下载
- 2025医院卫生院党支部书记述职报告(必威体育精装版版).docx VIP
- Femap中文学习全面指南.pptx VIP
- 人工智能的机器学习与深度学习.pptx
- 武汉市2025届高中毕业生二月调研考试 数 学 试 卷(附答案).docx VIP
- 核心素养导向表现性评价案例 北师大版小学数学五年级上册 分数小数互化.docx
- 2025年消防设施操作员(中级技能操作考核)考试题库(全新版).pdf VIP
- 危机公关的跨文化管理与传播.pptx VIP
- 公立医院加强经济运营管理的探索(PPT 97页)【97页】.pptx VIP
- 哈尔滨工业大学介绍.pptx VIP
- 烟草法律法规零售户培训.pptx
文档评论(0)