您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页基于大数据下的spark快速大数据分析

基于大数据下的spark快速大数据分析

来源:华佗小知识
总第184期2019年第10期大数据

现代工业经济和信息化

ModernIndustrialEconomyandInformationizationTotalof184No.10,2019

DOI:10.16525/j.cnki.14-1362/n.2019.10.31

基于大数据下的Spark快速大数据分析

海,王强,李英震

哈尔滨150100)

(空军航空大学初级飞行训练基地二团,黑龙江

要:在数据大爆炸的时代,随着数据量的激增,如何更快速地处理、使用这些规模大、复杂度高的数据成为

迫在眉睫的问题。阐述了Spark的五大组件,研究了Spark数据处理应用和运行架构。Spark通过优化传统的MapReduce模型来满足之前HDFS以及MapReduce无法解决的问题,大大提高了效率,为处理流式数据以及其他需求提供了捷径。

关键词:大数据;数据分析;计算;数据处理中图分类号:TP311

文献标识码:A

文章编号:2095-0748(2019)10-0075-02

引言

随着科学技术和社会经济的高速发展,我们已经处于一个数据大爆炸的时代,手机、ipad以及其他的物联网设备每分每秒都会产生大量的全新数据,这些数据不仅数量大,而且更加复杂,来源也越来越广。据科学家预测,到2020年,将会有600多亿台的互联网设备产生Zeta级的数据,所以如何更加合理快速地处理并且使用这些规模大、复杂度高的数据成为我们迫在眉睫需要解决的问题。

随着数据量的快速增长,以及一些公司对数据进行实时计算和实时处理的要求,传统的MapRe-duce模型已经无法满足这些要求,而且更加重要的是MapReduce在进行Shuffle时会产生大量的I/O,使得效率变低。Spark的出现扩展了传统的MapReduce模型,不但能提供更多更加高效的计算模型,还能够适用于多种不同的分布式平台场景上。同时Spark还可以让使用者们简单而低消耗地将各种处理流程整合到一起,这样既满足了对实时计算以及实时处理的要求,还减轻了对各种平台分别管理的负担[1]。1Spark的五大组件

在sparkCore中实现了Spark的一些基础的功能,例如进行内存的管理、进行错误的恢复、对任务的调度、与存储系统进行交互等功能。它还包含了对弹性分布式数据集的API定义。

Spark

SQL是被用来对结构化数据进行操作

的程序包,它支持多种数据源,例如Hive表、JSON、Parquet等,还可以使用HQL来进行数据的查询。

SparkStreaming能够对实时的数据进行流式计算。它具有准时的特点,同时提供离散化流数据的高级抽象概念,以此来表示连续的数据流。离散流是可以来自Flume、Kafka等输入源的输入数据流来创建,进行批处理,时间一般是秒级。

MLib是Spark提供的一个常见的机器学习功能的程序库,它提供了许许多多的机器学习算法,这些算法中包括了回归、聚类、分类、协同过滤、数据导入、模型评估等功能。

Graphx是能够进行并行操作的图计算,可以用来操作图的程序库。2Spark数据处理应用

众所周知因为MapReduce在交互计算以及迭代计算任务上的效率比较低,所以Spark出现了,Spark的出现使得交互式查询以及迭代计算效率大大增加,不但如此它还支持高效的容错机制和内存式存储。Spark不仅仅能够将HDFS(分布式文件系统)上面的文件读取为分布式数据集,还支持本地文件、Hive、HBase等。每一个Spark应用都会由一个驱动器程序(DriverProgram)来发起集群上的并行操作[2]。3Spark的运行架构

在HDFS的环境下,Spark采取的是Master/Slave,

收稿日期:2019-08-16

第一作者简介:林海(19—),男,本科,研究方向为飞行教育。

即主从架构,也就是由一个主节点来负责的协调,调度其他每个分布式节点,其中负责协调的节点就称为驱动器节点,也就是我们所说的Driver

窑76窑

现代工业经济和信息化

xdgyjjxxhx@163.com

第9卷

节点,其他的工作节点称为执行器节点,也就是我们说的Executor节点,一个Driver节点能够和多个Executor节点进行通信。

驱动器是应用程序的入口,它被用来执行用户创建的RDD和SparkContext上下文以及RDD的行动操作和转化操作的代码驱动器程序。在Spark应用中基本分为两个职责:第一个就是它把用户程序转为任务,将用户程序转换为多个物理执行的单元即任务(Task),程序将输入的数据创建成为许多的RDD,再使用转化操作派生出新的RDD,最后使用行动操作收集或者存储RDD的数据,它其实是隐蔽地创建了一个有向无环图(简称DAG);第二个就是为执行器节点调度任务,驱动器会将所有的执行器集合分配给合适的执行器进程,当Task进行的时候,执行器就会先将数据存储起来,以方便驱动器以后对这些数据的调用,以此来减少数据的网络传输。

执行器节点是负责在Spark中运行任务的,当Spark启动时执行器也被启动。执行器同样也有两个作用:第一,负责运行Spark任务,然后将运行后的结果返回给驱动器;第二,通过块管理器为RDD提供内存式存储,这样能够利用缓存数据来进行加速运算。

SparkContext即Spark上下文,它的作用是用来连接Spark的集群,帮助用户创建弹性分布式数据集、创建累加器和广播变量。每一个Spark应用都是一个SparkContextd的实例,同时它也是应用程序提交执行的前提。使用SparkContext需要传递两个参数:第一个是集群的URL,这是为了让Spark能够知道应该怎样连接到集群上;第二个就是应用名,这个值能够帮助我们在集群的管理器的用户界面中找到应用。4结语

在当今大数据爆炸的时代,数据的来源与格式更加复杂,社会对数据的整体价值和实时计算的要求越来越迫切,而Spark的出现完美地解决了这个问题,通过优化传统的MapReduce模型,来满足之前HDFS以及MapReduce无法解决的问题,大大提高了效率。在数据处理中运用了流计算的方式。流计算具有高性能、海量式、实时性、分布式、易用性、可靠性的优点,为处理流式数据以及其他需求提供了捷径,只要好好运用Spark各个组件应用,就可以更好地存储和计算大型数据。

参考文献

[1][2]

TomWhite.Hadoop权威指南[M].北京:清华大学出版社,2017:705.HoldenKarau,AndyKonwinski,PatrickWendell,MateiZaharia.Spark快速大数据分析[M].北京:人民邮电出版社,2019:231.

(编辑:王红霖)

SparkFastBigDataAnalysisBasedonBigData

LinHai,WangQiang,LiYingzhen

Heilongjiang150100)

Abstract:Intheeraofdataexplosion,withtherapidincreaseofdatavolume,howtoprocessandusetheselarge-scaleandcomplexdatamorequicklybecomesanurgentproblem.FivecomponentsofSparkaredescribed.Sparkdataprocessingapplicationandoperationarchitecturearestudied.SparkimprovesefficiencybyoptimizingthetraditionalMapReducemodeltomeettheproblemsthatHDFSandMapReducecouldnotsolvebefore,andprovidesashortcutforprocessingstreamingdataandotherrequirements.Keywords:bigdata;dataanalysis;computing;dataprocessing

(PrimaryFlightTrainingBaseIIRegiment,AirForceAviationUniversity,Harbin

(上接第74页)

ApplicationofBigDatainHumanResourceManagement

WangXiaoli

(ShanxiProvincialPersonnelExaminationCenter,TaiyuanShanxi030006)

Abstract:Startingfromtheoverviewofbigdata,thispaperdiscussesthespecificapplicationofbigdatainhumanresourcesmanagement,andanalysessomeproblemsneedingattentioninthecombinationofhumanresourcesmanagementandbigdata.

Keywords:humanresources;bigdata;problems;applications

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务