CN108874982A - 一种基于Spark大数据框架离线实时处理数据的方法 - Google Patents

一种基于Spark大数据框架离线实时处理数据的方法 Download PDF

Info

Publication number
CN108874982A
CN108874982A CN201810593494.7A CN201810593494A CN108874982A CN 108874982 A CN108874982 A CN 108874982A CN 201810593494 A CN201810593494 A CN 201810593494A CN 108874982 A CN108874982 A CN 108874982A
Authority
CN
China
Prior art keywords
data
spark
real
frame
hive
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810593494.7A
Other languages
English (en)
Inventor
柯峰
梁烜彰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN201810593494.7A priority Critical patent/CN108874982A/zh
Publication of CN108874982A publication Critical patent/CN108874982A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于Spark大数据框架离线实时处理数据的方法,包括以下步骤:通过Flume从数据源采集数据;将采集到的离线数据上传到离线模块中HDFS分布式文件系统上;将实时数据上传到实时模块中的Kafka集群上;Spark对HDFS上的数据进行预处理;Spark Streaming对Kafka集群上的数据进行预处理;将预处理过的离线数据导入到Hive数据仓库中;将预处理过的实时数据导入到Mysql数据库中;在Hive数据仓库中开发分析离线数据将结果传到前端网页实现数据可视化;在Mysql数据库中将实时数据传到前端网页实现数据可视化。本发明为数据处理业务提供了高效的计算服务和可靠的存储系统,可以满足多种数据处理的需求。

Description

一种基于Spark大数据框架离线实时处理数据的方法
技术领域
本发明涉及大数据处理分析领域,特别涉及一种基于Spark大数据框架离线实时处理数据的方法。
背景技术
如今,随着网络科学技术的飞速发展,人们对互联网的访问量也随之增加,伴随用户行为而产生的数据量也在呈现指数增长。用户每一秒在网络上所产生的行为数据就高达到上百个G,可以毫不客气地说我们已经进入了全面数据的时代。在大数据中有多个应用平台框架,但每个大数据平台框架都各有各的优缺点和应用场景,目前Hadoop是最常用的专门用于离线批处理的框架,拥有良好的稳定性但是速度较慢同时无法实时处理数据。Spark是专门为大规模数据处理而设计的下一代批处理框架,在数据处理的速率上较Hadoop相比有非常大的优势,同时Spark生态中的Spark Streaming可以处理实时数据流。如何通过Spark生态打造一个能处理离线实时数据的大数据框架用来应对各种场景的需求,弥补目前大数据平台处理数据过于单一的问题,这对本领域的一般技术人员而言,是一个难题。
发明内容
本发明的主要目的在于克服现有技术的缺点与不足,提供一种基于Spark大数据框架离线实时处理数据的方法,该方法能够有效克服处理目前其他大数据平台不能同时处理离线数据和实时数据的不足。
本发明的目的通过以下的技术方案实现:
一种基于Spark大数据框架离线实时处理数据的方法,包含以下步骤:
步骤S1、离线实时数据采集:
利用Cloudera提供的分布式日志采集系统Flume分别从数据源采集离线数据和实时数据;
步骤S2、数据存储和缓存:
Flume采集到的离线数据会传到HDFS分布式系统上进行存储,采集到的实时数据会传到Kafka集群上进行缓存;
步骤S3、数据预处理:
利用Spark计算框架对HDFS分布式系统上存储的离线数据进行预处理,利用实时计算框架Spark Streaming从Kafa集群中提取实时数据进行预处理;
步骤S4、数据入库:
通过Spark预处理之后的离线数据传入到Hive数据仓库中,通过SparkStreaming预处理之后的实时数据传入到Mysql数据库中进行分类存储;
步骤S5、数据分析:
在Hive数据仓库中对预处理之后数据根据需求进行语句分析,进一步得出需要的结果;
步骤S6、数据展示:
将Hive数据仓库中最后的结果传入到Mysql数据库中,通过Mysql数据库将离线数据的结果和实时数据的结果传到前端网页进行展示。
所述步骤S1具体为:
在机器上搭建好Spark平台的环境并安装相关软件,所述相关软件包括Mysql、Flume;配置Flume相关的配置文件,以Avro的方式进行传输数据;每台机器运行一个Flumeagent,一个Flume agent中包含M个Source和Sink,Channel作为两者连接的通道;其中M≥1。
所述步骤S2具体为:
Source从数据源处收集数据后传递给Channel,Sink从Channel收集数据之后输出,输出的离线数据上传到HDFS分布式文件系统上,输出的实时数据上传到Kafka集群上。
所述步骤S3具体为:
利用Spark计算框架对HDFS分布式系统上存储的离线数据进行预处理,利用实时计算框架Spark Streaming从Kafa集群中提取实时数据进行预处理;预处理的过程包括清洗、格式整理、滤除脏数据;利用scala或Java编程语言来编写相关预处理程序,在Eclipse软件上进行编写打包,放到Linux系统中进行运行。
所述步骤S4具体为:
在Hive数据仓库中建立数据处理所需的模型表,将通过Spark预处理之后的离线数据传入到Hive数据仓库中进行存储,等待后续的处理;通过SparkStreaming预处理之后的实时数据传入到Mysql数据库中进行分类存储。
所述步骤S5具体为:
在Hive数据仓库中提供实时查询功能,同时利用Spark sql工具实现对Hive中的数据实现复杂查询的功能,在Hive数据仓库中对数据预处理之后,根据需求进行语句分析,进一步得出需要的结果;在项目中增添一个Ooize任务调度模块用于管理管理调度大量任务单元。
所述步骤S6具体为:
Hive数据仓库中,最后的数据结果通过Sqoop工具传入Mysql数据库中,通过Mysql数据库将离线数据的结果和实时数据的结果传到前端网页,通过数据可视化工具将结果展示出来。
本发明与现有技术相比,具有如下优点和有益效果:
1、本发明将Spark运用于大数据处理技术中,可以解决在互联网中海量数据处理的问题。Spark是专门为大规模数据处理而设计的下一代批处理框架,类似于HadoopMapreduce并行框架的,Spark主要是基于内存计算而进行开发的并优化了批处理工作负载机制加快了运行的速率,在数据处理的速率上有非常大的优势。Spark不仅能提供交互式查询还能优化迭代负载为迭代式计算提供高速运算支持。Spark Streaming作为Spark核心API中的一个扩展是用于处理实时数据流的流式计算工具。它支持从多种数据源采集工具获取数据,并提供具备容错机制的高吞吐量的实时数据流处理。
2、传统的大数据平台框架只能单纯地处理离线数据或者实时数据,本框架将处理离线数据的Spark计算框架和处理实时数据的Spark Streaming计算框架结合起来,是项目中能同时处理离线数据和实时数据。同时框架中能利用Flume工具进行数据采集,还有HDFS、Hive和Mysql能提供数据的存储,最后在前端网页实现数据的可视化。
3、本发明利用框架中大数据平台的特点,能够有效地处理离线数据和实时数据,提供数据的存储和分析以及展示,使数据处理过程更加高效完善,有较强的可扩展性和容错性。
4、本发明将专门用于处理离线数据的Spark计算框架和专门用于处理实时数据的Spark Streaming结合起来,实现了对离线数据和实时数据同时的处理,为数据处理业务提供了高效的计算服务和可靠的存储系统,可以满足多种数据处理的需求。
附图说明
图1是本发明所述一种基于Spark大数据框架离线实时处理数据的方法的原理框图。
图2是本发明所述一种基于Spark大数据框架离线实时处理数据的方法的数据处理步骤的流程示意图。
图3是本发明所述一种基于Spark大数据框架离线实时处理数据的方法的流程图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
如图1、2、3所示,一种基于Spark大数据框架离线实时处理数据的方法,包含以下步骤:
步骤一、离线实时数据采集
在机器上搭建好Spark平台的环境并安装Mysql、Flume等相关软件。配置Flume相关的配置文件,以Avro的方式进行传输数据。每台机器运行一个Flume agent,一个Flumeagent中包含多个Sources和Sinks,Channel作为两者连接的通道。
步骤二、数据存储和缓存
Source从数据源处收集数据后传递给Channel,Sink从Channel收集数据之后输出,输出的离线数据上传到HDFS分布式文件系统上,输出的实时数据上传到Kafka集群上。
步骤三、数据预处理
利用Spark计算框架对HDFS分布式系统上存储的离线数据进行预处理,利用实时计算框架Spark Streaming从Kafa集群中提取实时数据进行预处理。预处理的过程包括清洗,格式整理,滤除脏数据等。利用scala或Java编程语言来编写相关预处理程序,在Eclipse软件上进行编写打包,放到Linux系统中进行运行。
步骤四、数据入库
在Hive数据仓库中建立数据处理所需的模型表,将通过Spark预处理之后的离线数据传入到Hive数据仓库中进行存储,等待后续的处理。通过Spark Streaming预处理之后的实时数据传入到Mysql数据库中进行分类存储。
步骤五、数据分析
在Hive数据仓库中可以提供实时查询功能,同时利用Spark sql工具实现对Hive中的数据实现复杂查询的功能,在Hive数据仓库中对预处理之后数据根据需求进行语句分析,进一步得出需要的结果。在项目中增添一个Ooize任务调度模块用于管理管理调度大量任务单元。
步骤六、数据展示
Hive数据仓库中最后的数据结果通过Sqoop工具传入Mysql数据库中,通过Mysql数据库将离线数据的结果和实时数据的结果传到前端网页,通过数据可视化工具将结果展示出来。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (7)

1.一种基于Spark大数据框架离线实时处理数据的方法,其特征在于,包含以下步骤:
步骤S1、离线实时数据采集:
利用Cloudera提供的分布式日志采集系统Flume分别从数据源采集离线数据和实时数据;
步骤S2、数据存储和缓存:
Flume采集到的离线数据会传到HDFS分布式系统上进行存储,采集到的实时数据会传到Kafka集群上进行缓存;
步骤S3、数据预处理:
利用Spark计算框架对HDFS分布式系统上存储的离线数据进行预处理,利用实时计算框架Spark Streaming从Kafa集群中提取实时数据进行预处理;
步骤S4、数据入库:
通过Spark预处理之后的离线数据传入到Hive数据仓库中,通过Spark Streaming预处理之后的实时数据传入到Mysql数据库中进行分类存储;
步骤S5、数据分析:
在Hive数据仓库中对预处理之后数据根据需求进行语句分析,进一步得出需要的结果;
步骤S6、数据展示:
将Hive数据仓库中最后的结果传入到Mysql数据库中,通过Mysql数据库将离线数据的结果和实时数据的结果传到前端网页进行展示。
2.根据权利要求1所述基于Spark大数据框架离线实时处理数据的方法,其特征在于,所述步骤S1具体为:
在机器上搭建好Spark平台的环境并安装相关软件,所述相关软件包括Mysql、Flume;配置Flume相关的配置文件,以Avro的方式进行传输数据;每台机器运行一个Flume agent,一个Flume agent中包含M个Source和Sink,Channel作为两者连接的通道;其中M≥1。
3.根据权利要求1所述基于Spark大数据框架离线实时处理数据的方法,其特征在于,所述步骤S2具体为:
Source从数据源处收集数据后传递给Channel,Sink从Channel收集数据之后输出,输出的离线数据上传到HDFS分布式文件系统上,输出的实时数据上传到Kafka集群上。
4.根据权利要求1所述基于Spark大数据框架离线实时处理数据的方法,其特征在于,所述步骤S3具体为:
利用Spark计算框架对HDFS分布式系统上存储的离线数据进行预处理,利用实时计算框架Spark Streaming从Kafa集群中提取实时数据进行预处理;预处理的过程包括清洗、格式整理、滤除脏数据;利用scala或Java编程语言来编写相关预处理程序,在Eclipse软件上进行编写打包,放到Linux系统中进行运行。
5.根据权利要求1所述基于Spark大数据框架离线实时处理数据的方法,其特征在于,所述步骤S4具体为:
在Hive数据仓库中建立数据处理所需的模型表,将通过Spark预处理之后的离线数据传入到Hive数据仓库中进行存储,等待后续的处理;通过Spark Streaming预处理之后的实时数据传入到Mysql数据库中进行分类存储。
6.根据权利要求1所述基于Spark大数据框架离线实时处理数据的方法,其特征在于,所述步骤S5具体为:
在Hive数据仓库中提供实时查询功能,同时利用Spark sql工具实现对Hive中的数据实现复杂查询的功能,在Hive数据仓库中对数据预处理之后,根据需求进行语句分析,进一步得出需要的结果;在项目中增添一个Ooize任务调度模块用于管理管理调度大量任务单元。
7.根据权利要求1所述基于Spark大数据框架离线实时处理数据的方法,其特征在于,所述步骤S6具体为:
Hive数据仓库中,最后的数据结果通过Sqoop工具传入Mysql数据库中,通过Mysql数据库将离线数据的结果和实时数据的结果传到前端网页,通过数据可视化工具将结果展示出来。
CN201810593494.7A 2018-06-11 2018-06-11 一种基于Spark大数据框架离线实时处理数据的方法 Pending CN108874982A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810593494.7A CN108874982A (zh) 2018-06-11 2018-06-11 一种基于Spark大数据框架离线实时处理数据的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810593494.7A CN108874982A (zh) 2018-06-11 2018-06-11 一种基于Spark大数据框架离线实时处理数据的方法

Publications (1)

Publication Number Publication Date
CN108874982A true CN108874982A (zh) 2018-11-23

Family

ID=64337806

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810593494.7A Pending CN108874982A (zh) 2018-06-11 2018-06-11 一种基于Spark大数据框架离线实时处理数据的方法

Country Status (1)

Country Link
CN (1) CN108874982A (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109684377A (zh) * 2018-12-13 2019-04-26 深圳市思迪信息技术股份有限公司 通用大数据实时处理开发平台及其数据处理方法
CN109800999A (zh) * 2019-02-01 2019-05-24 苏州链读文化传媒有限公司 基于大数据分析的人才综合素质平台
CN109840253A (zh) * 2019-01-10 2019-06-04 北京工业大学 企业级大数据平台架构
CN110096664A (zh) * 2019-04-03 2019-08-06 北大方正集团有限公司 分布式文本信息处理方法、装置、系统、设备及存储介质
CN110131593A (zh) * 2019-05-18 2019-08-16 北京化工大学 基于大数据平台的管道泄漏辅助检测系统
CN110309848A (zh) * 2019-05-08 2019-10-08 重庆天蓬网络有限公司 离线数据与流式数据实时融合计算的方法
CN110347721A (zh) * 2019-07-08 2019-10-18 紫光云技术有限公司 一种鸢尾花的种类分析方法
CN110347116A (zh) * 2019-07-17 2019-10-18 重庆大学 一种基于运行数据流的机床状态监测系统与监测方法
CN110457320A (zh) * 2019-08-06 2019-11-15 深圳萨摩耶互联网金融服务有限公司 数据的实时存储方法与装置、存储介质及计算机设备
CN110990476A (zh) * 2019-12-17 2020-04-10 腾讯科技(深圳)有限公司 数据导入方法、装置、服务器及存储介质
CN111177276A (zh) * 2020-01-06 2020-05-19 浙江中烟工业有限责任公司 一种基于Spark计算框架的动能数据处理系统及方法
CN111625218A (zh) * 2020-05-14 2020-09-04 中电工业互联网有限公司 一种自定义库开发的大数据处理方法及系统
CN111797147A (zh) * 2019-04-08 2020-10-20 中移(苏州)软件技术有限公司 一种数据处理方法及装置、电子设备
CN111897888A (zh) * 2020-08-17 2020-11-06 国网辽宁省电力有限公司沈阳供电公司 基于Spark框架和凝聚层次聚类算法的户变关系识别方法
CN111914031A (zh) * 2020-08-11 2020-11-10 中国科学院地质与地球物理研究所 一种基于大数据的星载磁场数据处理系统
CN113792041A (zh) * 2021-08-04 2021-12-14 河南大学 基于Hive和Spark的遥感数据服务离线批处理系统及方法
CN114710481A (zh) * 2021-12-13 2022-07-05 越亮传奇科技股份有限公司 基于大数据的流量话单分析方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104361091A (zh) * 2014-11-18 2015-02-18 浪潮(北京)电子信息产业有限公司 一种大数据系统
CN104636494A (zh) * 2015-03-04 2015-05-20 浪潮电子信息产业股份有限公司 一种基于Spark大数据平台的日志审计倒查系统
CN105915377A (zh) * 2016-04-14 2016-08-31 北京思特奇信息技术股份有限公司 一种Flume与SparkStreaming整合的方法及系统
US9699205B2 (en) * 2015-08-31 2017-07-04 Splunk Inc. Network security system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104361091A (zh) * 2014-11-18 2015-02-18 浪潮(北京)电子信息产业有限公司 一种大数据系统
CN104636494A (zh) * 2015-03-04 2015-05-20 浪潮电子信息产业股份有限公司 一种基于Spark大数据平台的日志审计倒查系统
US9699205B2 (en) * 2015-08-31 2017-07-04 Splunk Inc. Network security system
CN105915377A (zh) * 2016-04-14 2016-08-31 北京思特奇信息技术股份有限公司 一种Flume与SparkStreaming整合的方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
肖东方: ""基于Hadoop的运维日志采集分析平台的设计与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109684377A (zh) * 2018-12-13 2019-04-26 深圳市思迪信息技术股份有限公司 通用大数据实时处理开发平台及其数据处理方法
CN109840253A (zh) * 2019-01-10 2019-06-04 北京工业大学 企业级大数据平台架构
CN109800999A (zh) * 2019-02-01 2019-05-24 苏州链读文化传媒有限公司 基于大数据分析的人才综合素质平台
CN110096664A (zh) * 2019-04-03 2019-08-06 北大方正集团有限公司 分布式文本信息处理方法、装置、系统、设备及存储介质
CN110096664B (zh) * 2019-04-03 2021-04-09 北大方正集团有限公司 分布式文本信息处理方法、装置、系统、设备及存储介质
CN111797147A (zh) * 2019-04-08 2020-10-20 中移(苏州)软件技术有限公司 一种数据处理方法及装置、电子设备
CN111797147B (zh) * 2019-04-08 2022-12-13 中移(苏州)软件技术有限公司 一种数据处理方法及装置、电子设备
CN110309848A (zh) * 2019-05-08 2019-10-08 重庆天蓬网络有限公司 离线数据与流式数据实时融合计算的方法
CN110131593A (zh) * 2019-05-18 2019-08-16 北京化工大学 基于大数据平台的管道泄漏辅助检测系统
CN110347721A (zh) * 2019-07-08 2019-10-18 紫光云技术有限公司 一种鸢尾花的种类分析方法
CN110347116A (zh) * 2019-07-17 2019-10-18 重庆大学 一种基于运行数据流的机床状态监测系统与监测方法
CN110457320A (zh) * 2019-08-06 2019-11-15 深圳萨摩耶互联网金融服务有限公司 数据的实时存储方法与装置、存储介质及计算机设备
CN110990476A (zh) * 2019-12-17 2020-04-10 腾讯科技(深圳)有限公司 数据导入方法、装置、服务器及存储介质
CN110990476B (zh) * 2019-12-17 2023-04-07 腾讯科技(深圳)有限公司 数据导入方法、装置、服务器及存储介质
CN111177276A (zh) * 2020-01-06 2020-05-19 浙江中烟工业有限责任公司 一种基于Spark计算框架的动能数据处理系统及方法
CN111177276B (zh) * 2020-01-06 2023-10-20 浙江中烟工业有限责任公司 一种基于Spark计算框架的动能数据处理系统及方法
CN111625218A (zh) * 2020-05-14 2020-09-04 中电工业互联网有限公司 一种自定义库开发的大数据处理方法及系统
CN111625218B (zh) * 2020-05-14 2024-01-09 中电工业互联网有限公司 一种自定义库开发的大数据处理方法及系统
CN111914031A (zh) * 2020-08-11 2020-11-10 中国科学院地质与地球物理研究所 一种基于大数据的星载磁场数据处理系统
CN111914031B (zh) * 2020-08-11 2021-03-16 中国科学院地质与地球物理研究所 一种基于大数据的星载磁场数据处理系统
CN111897888A (zh) * 2020-08-17 2020-11-06 国网辽宁省电力有限公司沈阳供电公司 基于Spark框架和凝聚层次聚类算法的户变关系识别方法
CN113792041A (zh) * 2021-08-04 2021-12-14 河南大学 基于Hive和Spark的遥感数据服务离线批处理系统及方法
CN113792041B (zh) * 2021-08-04 2024-04-09 河南大学 基于Hive和Spark的遥感数据服务离线批处理系统及方法
CN114710481A (zh) * 2021-12-13 2022-07-05 越亮传奇科技股份有限公司 基于大数据的流量话单分析方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN108874982A (zh) 一种基于Spark大数据框架离线实时处理数据的方法
Tang et al. A survey on spark ecosystem: Big data processing infrastructure, machine learning, and applications
CN108984610A (zh) 一种基于大数据框架离线实时处理数据的方法及系统
Isah et al. A survey of distributed data stream processing frameworks
Nandimath et al. Big data analysis using Apache Hadoop
Logothetis et al. Stateful bulk processing for incremental analytics
CN107679192A (zh) 多集群协同数据处理方法、系统、存储介质及设备
CN106030573A (zh) 半结构化数据作为第一等级数据库元素的实现
CN110543296A (zh) 一种智慧校园微服务平台架构体系
Humbetov Data-intensive computing with map-reduce and hadoop
CN108681569A (zh) 一种数据自动分析系统及其方法
Pal et al. Big data real time ingestion and machine learning
Ounacer et al. A new architecture for real time data stream processing
Pääkkönen Feasibility analysis of AsterixDB and Spark streaming with Cassandra for stream-based processing
Wang Stream processing systems benchmark: Streambench
Senger et al. BSP cost and scalability analysis for MapReduce operations
Pokorný et al. Big data movement: a challenge in data processing
Theeten et al. Chive: Bandwidth optimized continuous querying in distributed clouds
US11042530B2 (en) Data processing with nullable schema information
Bansal et al. Big data streaming with spark
CN112506887A (zh) 车辆终端can总线数据处理方法及装置
Karakaya Software engineering issues in big data application development
CN106599244B (zh) 通用的原始日志清洗装置及方法
KR20150089693A (ko) 빅 데이터 플랫폼 기반 데이터 저장 시스템 확장 장치 및 방법
Vidhya et al. Comparative analysis of diverse collection of big data analytics tools

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20181123