温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
Spark
平台
RDD
研究
应用
欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟欟收稿日期:作者简介:马兆辉(),男,在读研究生。研究方向:大数据和信息处理。通信作者:温秀梅(),女,教授。研究方向:大数据和信息处理。犱 狅 犻:平台下的 研究与应用马兆辉赵睿哲温秀梅,(河北建筑工程学院,河北 张家口 ;张家口市大数据技术创新中心,河北 张家口 )摘要:大数据时代下,计算海量数据的需求日益加剧,是专门用于计算大规模数据量的并行计算框架,但在实际应用中使用较少。首先对 平台下 ()的基本概念进行介绍;其次对 与 的关系进行描述:的核心是建立在抽象的弹性分布数据集 之上的,可以将数据处理成为弹性分布数据集 ,再通过 的转换接口和动作操作得到最终数据;最后在 平台实现电商用户页面单跳转化率统计实验和电商热门品类中 活跃 统计实验,实现在实际生活中的应用,达到更快处理大规模数据的目的。关键词:大数据;电商中图分类号:犜 犘文献标识码:犃 引言 基于 实现了一体化、多元化的大数据处理体系,强大的计算能力以及高度集成化的特点使得 在大数据计算领域具有得天独厚的优势在 出现之前,平台下的 框架是最热门的大数据计算框架,但是 框架仍暴露出很多缺点,其中最主要的是迭代计算的中间结果会不停写入磁盘,造成了数据复制严重、磁盘开销大等问题同 框架相比,框架表达能力有限,不得不借助第三方工具去完成更为复杂的任务 框架是为了解决这些问题而设计的,框架不仅拥有更丰富的函数,可以对更为复杂的海量数据进行快速操作,而且可以将中间结果存入内存,通过 之间存在的依赖关系形成 图进行转换操作,实现流水线进程,使用户不必再担心底层数据的特性,减少了磁盘的开销,提升了运行速度,提高了容错性,同时还开发出完整的 生态系统,减少了开发和维护成本,对大规模数据的处理更加方便快捷,其各个组件可以共同完成绝大部分的数据处理需求和场景本文针对 中最为重要的核心组件之一 进行详细介绍,并通过具体实验进行说明 相关知识 ()是弹性分布式数据集,是一种抽象的分布式内存概念,是 平台中运行计算的基本存储单元 具有强大的容错功能,不仅可以并行处理元素,同时还是一个高度抽象的数据结构,包含多个分区其创建方式主要包括两大类:一类是来自共享文件系统、的外部文件系统,另一类则是通过任何数据源提供 提供了丰富的操作来对集合中的元素进行操作其支持两种操作类型:和 主要是从一个存在的 去产生一个新的 ,而 的操作主要是在数据集上计算之后返回给 )的依赖第 卷 第期 年月河 北 建 筑 工 程 学 院 学 报犑 犗 犝 犚 犖 犃 犔犗 犉犎 犈 犅 犈 犐犐 犖 犛 犜 犐 犜 犝 犜 犈犗 犉犃 犚 犆 犎 犐 犜 犈 犆 犜 犝 犚 犈犃 犖 犇犆 犐 犞 犐 犔犈 犖 犌 犐 犖 犈 犈 犚 犐 犖 犌犞 狅 犾 犖 狅 犑 狌 狀 在对 进行转换操作的过程中,每个操作都会在已有的 的基础上产生新的 由于 的惰性特性,新的 会依赖于原有的 ,这样 之间就会形成相应的依赖关系 的依赖关系分为两大类,如图所示窄依赖:是指每个父 的一个 最多被子 的一个 所使用,例如 、等都会产生窄依赖;宽依赖:是指一个父 的 会被多个子 的 所使用,例如 、等操作都会产生宽依赖图 的依赖关系)之间的转换关系 中最核心的部分就是 ,是一个不可变、粗粒度的数据集合在 抽象数据模型中提供了丰富的转换操作,然而所有的转换操作都不会实际的执行,这正是由于其惰性特性,因此只会记录操作的步骤,真正的计算发生在 的“动作”操作,如图所示图 的转换关系)操作类型 支持两种操作:转换()和动作(,动作或行动)其中转换操作用于对 的创建,是通过操作方法从已经存在的数据集中创建一个新的数据集,动作操作是数据执行部分,主要是指计算数据集里的数据后并将结果返回到 由于转换操作都具有 特性,即 不会立即进行实际的操作,只会记录执行的流程,只有发出 操作的时候才会真正执行默认情况下,的每个动作在执行的时候,都会将之前的数据重新计算一遍,为了保证计算的高效性以及计算结果的可重用性,在实际计算过程中,根据实际情况,在特定的计算环节上执行 方法,将计算的中间结果持久化到内存或者磁盘上如果进行了持久化操作,那么在进行 操作的时候,就会从内存或者磁盘将已经计算好的数据取出直接用于后续计算,这样节省了计算步骤和时间,同时也提高了整体的计算效率)的弹性特性第期马兆辉赵睿哲温秀梅 平台下的 研究与应用 之所以被称为弹性数据集,其主要体现在以下几个方面自动将存储在内存和磁盘中的数据切换 是基于内存的,但是当内存“满”的时候,会将一部分数据放到磁盘,前提是持久化级别设置成 基于 的高效容错若计算步骤很多,如果其中某个环节出错,可从指定位置恢复已经计算好的数据,有效避免了重新计算当然可恢复的前提是在相应位置进行了计算结果数据的持久化 如果失败会自动进行特定次数的重试 如果失败会自动进行特定次数的重试,而且只会计算失败的分区检查点和持久化过程在计算过程中,有的计算相对复杂,若计算链条相对较长或者其结果经常被访问,可以将其结果进行缓存,以便后续直接访问,以此来节省计算时间,提高整体运行速度数据调度、调度、调度和资源管理无关 集群中任务调度和资源调度是分开的数据分区的高度弹性在计算过程中,当数据分区较小时会降低处理效率,为了提高处理效率,需要将小的分区合并成一个较大分区进行处理;而当数据分区较大时,由于内存大小限制,需要把分区划分成较小的数据分区可以根据不同的情况设置不同的分区数量和大小,提高或降低并行度)运行过程()通过读取集合或来自外部的数据源创建 对象;()通过 的相关操作构建一个 作为逻辑执行计划;()根据 将 划分为多个阶段,每个阶段包含多个 ,之后每个 会被 调度到不同节点的 上启动执行如图所示图 在 中的运行过程 的具体实现使用本地系统创建 ,在 中实现电商用户页面单跳转化率统计实验和电商热门品类中 活跃 统计实验的具体案例,各软件具体版本如表所示表软件及对应版本表软件版本 创建 的方式 使用程序中的集合创建 的数据来源可以是程序中的集合,在 中可以通过 和 将集合转化成 ,中的 方法可以指定分区个数源码如图所示河 北 建 筑 工 程 学 院 学 报第 卷图使用程序中的集合创建 使用本地文件系统创建 的数据来源也可以是本地的文件系统,这对于程序中需要进行相对较大的数据量测试是很有必要的在 中可以通过 方法来读取本地文件系统创建 源码如图所示图使用本地文件创建 使用 创建 可以作为 的数据来源,而且从 上读取数据来创建 的方式也是目前 生产系统中最常用的方式源码如图所示图使用 创建 基于 的电商用户页面单跳转化率统计实验页面单跳转化率是指一个用户在一次电商购物过程中访问的页面路径如首页、产品列表页、产品详情页、订单页面、支付页面,首页跳转到产品列表页叫一次单跳,订单页面跳到支付页面也叫一次单跳单跳转化率就是统计页面点击的概率根据页面转化率指标的大小,产品经理和运营总监可以分析网站的产品和页面的表现,决定是否需要去优化网站的布局电商网页页面路径图如图所示图电商网页页面路径图第期马兆辉赵睿哲温秀梅 平台下的 研究与应用 实验分析实验数据采集自电商的用户行为数据,共包括有 条数据,其中每一条主要包含用户的种行为:搜索、点击、下单和支付实验数据如图所示图电商用户行为数据数据中每一行表示用户的一个行为数据,采用“”分割字段,如果搜索关键字是 即表示无效搜索;如果品类 和产品 为 即表示为无效点击;用户可同时下单多个产品,即品类 和产品 可为多个,多个数据之间采用“,”进行分割,若不是下单行为即用 表示;用户也可同时支付多个产品,与下单行为类似,若不是支付行为即用 表示实验过程首先对数据进行处理,将每一行的数据分割开,读取到规定的页面后,通过 转换算子和 行动算子统计出来每个页面的访问次数和每个用户的页面单跳跳转路径并按时间升序排序,然后过滤出单跳跳转目标相同的路径并统计次数,最后计算单跳转化率实验过程如图所示图实验流程图 实验结果实验数据中共有 个页面,页面 由到,本文实验结果选取 从到 的页面转化率进行展示实验结果如图 所示,每一行数据由单跳跳转路径和单跳转化率构成河 北 建 筑 工 程 学 院 学 报第 卷图 页面单跳转化率实验结果图 基于 的电商热门品类中 活跃 统计实验品类是指产品的分类,部分电商品类可分为多级,此实验中品类为一级,实验按照每个品类的点击、下单、支付的数量来统计出各个品类的数量,并选出数量排名前 的品类作为热门品类对于排名前 的品类,分别获取每个品类点击次数排名前 的 ,这个功能可以看到,某个用户群体最感兴趣的品类以及各个品类中最典型的用户的 的行为 实验分析实验数据仍使用电商的用户行为数据实验过程首先分别统计每个品类点击的次数、下单的次数和支付的次数,通过遍历全部日志数据,根据品类 和操作类型分别累加各个品类的数量,遍历完成之后就得到了每个品类 和操作类型的数量,按照点击下单支付的顺序来排序,得到 热门品类过程如图 所示图 热门品类实验过程图过滤出热门品类 的日志,将热门品类 的数据类型转换为 (,),并统计数量,将数据类型转换为 (,),统计出每个品类中 的数量,接下来对每个品类中的 数量进行排序,并取出前 实验过程如图 所示第期马兆辉赵睿哲温秀梅 平台下的 研究与应用图 活跃 实验流程图 实验结果 热门品类实验结果图如图 所示,结果图中 个结果为 热门品类,每一行由品类、点击量、下单量、支付量组成包装类,再按照点击量的顺序降序来排序图 热门品类实验结果图 活跃 实验结果图如图 所示,每一行数据由 热门品类的品类 和一个 组成,中包含 个 包装类,包装类中包含点击数最高的 和点击数,并根据 中的点击数降序排序图 活跃 实验结果图河 北 建 筑 工 程 学 院 学 报第 卷 结语 不仅含有 平台下 框架所具备的优点,也很好地解决了 中存在的一些问题,同时在功能上为更好的适应现代大数据环境做了延伸和扩展,使其在操作更简洁方便的前提下执行速度提高了近百倍其中,是作为 技术中数据操作的基本单位本文主要论述了 的属性、之间的依赖、常见的转换关系、操作类型、弹性特性和运行原理,创建 的几种常见的方式以及电商用户页面单跳转化率统计实验和电商热门品类中 活跃 统计实验实现 不仅可以支持 、等多种语言编程,还支持 、等多种数据类型,而且提供了一个完整而强大的生态系统,其中有 查询、流式计算、机器学习和图计算组件,这些组件可以应用在一个程序中,完成更加复杂的需求在现代大数据环境下,为了更好解决实际生活中的复杂问题,充分理解并掌握 的运行可以让 的运行节省大量的数据处理时间,从而有效地优化数据处理过程,提高整个过程的效率参考文献 刘嘉耀基于 的推荐算法的改进研究泉州:华侨大学 :王玉大数据时代 和 技术研究品牌研究 ,():刘志强基于 平台的 算法并行化研究天津:天津理工大学 :冯文杰,王文超 与 应用场景研究计算机应用研究 ,():王家林,孔祥瑞 零基础实战 北京:化学工业出版社 :犚 犲 狊 犲 犪 狉 犮 犺犪 狀 犱犪 狀 犪 犾 狔 狊 犻 狊狅 犳犚 犇 犇犫 犪 狊 犲 犱狅 狀狊 狆 犪 狉 犽狆 犾 犪 狋 犳 狅 狉 犿犕犃犣 犺 犪 狅 犺 狌 犻,犣 犎 犃 犗犚 狌 犻 狕 犺 犲,犠犈 犖犡 犻 狌犿 犲 犻,(,;,)犃 犫 狊 狋 狉 犪 犮 狋:,();,:,;,犓 犲 狔狑 狅 狉 犱 狊:;第期马兆辉赵睿哲温秀梅 平台下的 研究与应用