大数据技术SparkRDD介绍计算机数据挖掘与模式识别_计算机-数据挖掘与模式识别.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《大数据技术SparkRDD介绍计算机数据挖掘与模式识别_计算机-数据挖掘与模式识别.pdf》由会员分享,可在线阅读,更多相关《大数据技术SparkRDD介绍计算机数据挖掘与模式识别_计算机-数据挖掘与模式识别.pdf(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Spark 计算模型 1.弹性分布式数据集 RDD 1.1.RDD 概述 1.1.1.什么是RDD RDD(Resilient Distributed Dataset)叫做分布式数据集,是 Spark 中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。RDD 具有数据流模型的特点:自动容错、位置感知性调度和可伸缩性。RDD 允许用户在执行多个查询时显式地将工作集缓 存在内存中,后续的查询能够重用工作集,这极大地提升了查询速度。1.1.2.RDD的属性*Internally,each RDD is characterized by five main properties
2、:*A list of partitions*A function for computing each split*-A list of dependencies on other HDDs*_ Optionally,a Partitioner for key-value HDDs(e.g,to say that the RDD is hash-parti Honed)*-Optionally,a list of preferred locations to costpule each split on(e.g.block locations for*an HDFS file)1)一组分片(
3、Partition),即数据集的基本组成单位。对于 RDD 来说,每个分片都会被一 个计算任务处理,并决定并行计算的粒度。用户可以在创建 RDD 时指定 RDD 的分片个数,如 果没有指定,那么就会采用默认值。默认值就是程序所分配到的 CPU Core 的数目。2)一个计算每个分区的函数。Spark 中RDD 的计算是以分片为单位的,每个RDD 都会实现 compute函数以达到这个目的。compute 函数会对迭代器进行复合,不需要保存每次计算的 结果。3)RDD 之间的依赖关系。RDD 的每次转换都会生成一个新的 RDD,所以 RDD 之间就会形成类 似于流水线一样的前后依赖关系。在部分分
4、区数据丢失时,Spark 可以通过这个依赖关系重 新计算丢失的分区数据,而不是对 RDD 的所有分区进行重新计算。4)一个 Partitioner,即 RDD 的分片函数。当前 Spark 中实现了两种类型的分片函数,一 个是基于哈希的 HashPartitioner,另外一个是基于范围的 RangePartitionero只有对于于 key-value 的 RDD,才会有 Partitioner,非 key-value 的 RDD 的 Parititioner 的值是 None。Partitioner 函数不但决定了 RDD 本身的分片数量,也决定了 parent RDD Shuffle 输
5、岀时 的分片数量。5)个列表,存储存取每个 Partition 的优先位置(preferred location)。对于一个 HDFS 文件来说,这个列表保存的就是每个 Part it io n 所在的块的位置。按照 移动数据不如移动 计算”的理念,Spark 在进行任务调度的时候,会尽可能地将计算任务分配到其所要处理数 据块的存储位置。1.2.创建 RDD 1)由一个已经存在的 Scala 集合创建。val rddl=sc.parallelize(Array(1,2,3,4.5,6.7,8)2)由外部存储系统的数据集创建,包括本地的文件系统,还有所有Hadoop 支持的数据集,比如 HDFS
6、、Cassandra HBase 等 val rdd2=sc.textF 订 e(,rhdfs:/:9000/words.txt11)1.3.RDD 编程 API 1.3.1.Trans forma tion RDD 中的所有转换都是延迟加载的,也就是说,它们并不会直接计算结果。相反的,它们只 是记住这些应用到基础数据集(例如一个文件)上的转换动作。只有当发生一个要求返回结 果给Driver 的动作时,这些转换才会真正运行。这种设计让 Spark 更加有效率地运行。常用的 Transformation:转换 含义 map1func)金新的 RDD,该 RDD 由毎一个输入元素经过 fimc 函
7、数转换后 姐成 filter-:func)衣新的 RDD,该 RDD 由经过 func 函数计算后返回值为 true 的嫌入元素姐成 flatMap(func)类值于 map,但是毎一个綸入元素可以械映射为 0或多个堀出元素(所以 Fimc 应该返回一个序列,而不是单一元裳 napPartitions(func)类值于 map.但独立地在 RDD 的每一个分片上运行.因此在类型为 T 的RDD 上运行时.func 的函数类型必須是 IteratorT=IteratorU EapPartitionsWithlndex(func)类似于 rmipPartitions,但 func 带有一个整数参数
8、表示分片的索引 值,因此在类型为 T 的 RDD 上运行时,Func 的函数类型必须是(Int.lnteratorT)-IteratorU sa ple(withRep1acement fraction seed)报粥 fraction 指定的比例対数错进行采样.可以遶择是否使唐随机 欽进行替换.sad 用于指定随机数生成器种子 union(otherDataset)对源 RDD 和参数 RDD 求并集后返回一个新的 RDD intersection(otherDataset)对源 RDD 和参数 RDD 求交集后返回一个新的 RDD 元素可素可并行素可计算的集合具有数据流模型素可计的集合特点
9、自动容错位置据素可感知性调度素可计和伸缩允的集合许用户在执多和伸个查和伸缩允询个查时显式地将工作缓存内素可感许中后续能够重这极大提升感了速属一感组分片即感基本成单指特定那么就会采升默大认是程感序所提配到目每定那区就函以升为都实现达对即迭错代缓即器进后复不重这器需要能保模位感时次地结果之代间依这素可结有属一感元赖特许之代间关系素可关转器区换器生丢模位失而进具新能当前两种类于要依这集哈希感另那外配范复围只复结才只置据另那才只非但另那后续了速决身量也输岀?后?素可感模型并模?结具?重复只?么后复结?复感?速属一感元复?只?依这素可属distinct(numTasks)对源 RDD 进行去 4:后返回
10、一个新的 RDD groupByKcy(numTasks)在一个(K.V)的 RDD 上调用.逖回一个(KIteratorV)的 RDD reduceByKey(func.numTasks)在一个(K.V)的 RDD 上调用返回一个(K.Y)的 RDD,使用指定的 reduce 函救.将相同 key 的值聚合到一起,与 groupByKey 类似,reduce 任务的个数可以翅过第二个可选的敌数来设置 aggregateByKey1zeroValue)(seqOp coabOp.numTasks)sortByKey(ascending.numTasks)$(KV)的 RDD 上调用 K 必须实
11、现 0 rdered 接 D,迩回一个按 照key 进行井序的(K.V的 RDD sortBy(func uscencling numTasks)与 sortByKey 类似但是更灵活 join(othef)itaset numTasks 在类型为(KM 和(KM 的 RDI)上调用返回一个相同 key 对应的所 有元素对在一起的(K(V.W 的 RDD cogroup(othei*Datase 1 numTasks)在类型为(K.V)和(K.W)的RDD 上调用.邃回一个(K.(I terable.I terab le x.true)/it 濾出大于等于十的元素 val rdd3=rdd2.
12、fiIterC=10)将元素以数址的方式在客户瑙显示 rdd3.collect 练习 2:val rddl=sc.parallelize(Array(*a b cH.”d e f*.i jH)将 rddl 里面的毎一个元素先切分在匡平 val rdd2 二 rddl.flatMap(_.split(*)rdd2.collect 练习 3:val rddl 二 sc.parallelize(List(5.6.4.3)val rdd2 二 sc.parallel ize(List(1 2 3!)/求并集 元素可素可并行素可计算的集合具有数据流模型素可计的集合特点自动容错位置据素可感知性调度素可计和
13、伸缩允的集合许用户在执多和伸个查和伸缩允询个查时显式地将工作缓存内素可感许中后续能够重这极大提升感了速属一感组分片即感基本成单指特定那么就会采升默大认是程感序所提配到目每定那区就函以升为都实现达对即迭错代缓即器进后复不重这器需要能保模位感时次地结果之代间依这素可结有属一感元赖特许之代间关系素可关转器区换器生丢模位失而进具新能当前两种类于要依这集哈希感另那外配范复围只复结才只置据另那才只非但另那后续了速决身量也输岀?后?素可感模型并模?结具?重复只?么后复结?复感?速属一感元复?只?依这素可属val rdd3=rddl.union(rdd2)/求交集 val rddl 二 rddl.inters
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 技术 SparkRDD 介绍 计算机 挖掘 模式识别
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内