The invention discloses a method for offline real-time data processing based on Spark big data framework, which includes the following steps: collecting data from data sources through Flume; uploading the collected offline data to HDFS distributed file system in offline module; uploading real-time data to Kafka cluster in real-time module; and uploading Spark to HDFS cluster in real-time module. Data preprocessing; Spark Streaming preprocesses data on Kafka cluster; imports pre-processed offline data into Hive data warehouse; imports pre-processed real-time data into Mysql database; develops and analyses offline data in Hive data warehouse and transmits the results to front-end web pages to realize data availability. Visualization; In Mysql database, real-time data is transmitted to front-end web pages to realize data visualization. The invention provides an efficient computing service and a reliable storage system for data processing business, and can meet the needs of various data processing.
【技术实现步骤摘要】
一种基于Spark大数据框架离线实时处理数据的方法
本专利技术涉及大数据处理分析领域,特别涉及一种基于Spark大数据框架离线实时处理数据的方法。
技术介绍
如今,随着网络科学技术的飞速发展,人们对互联网的访问量也随之增加,伴随用户行为而产生的数据量也在呈现指数增长。用户每一秒在网络上所产生的行为数据就高达到上百个G,可以毫不客气地说我们已经进入了全面数据的时代。在大数据中有多个应用平台框架,但每个大数据平台框架都各有各的优缺点和应用场景,目前Hadoop是最常用的专门用于离线批处理的框架,拥有良好的稳定性但是速度较慢同时无法实时处理数据。Spark是专门为大规模数据处理而设计的下一代批处理框架,在数据处理的速率上较Hadoop相比有非常大的优势,同时Spark生态中的SparkStreaming可以处理实时数据流。如何通过Spark生态打造一个能处理离线实时数据的大数据框架用来应对各种场景的需求,弥补目前大数据平台处理数据过于单一的问题,这对本领域的一般技术人员而言,是一个难题。
技术实现思路
本专利技术的主要目的在于克服现有技术的缺点与不足,提供一种基于Spark大数据框架离线实时处理数据的方法,该方法能够有效克服处理目前其他大数据平台不能同时处理离线数据和实时数据的不足。本专利技术的目的通过以下的技术方案实现:一种基于Spark大数据框架离线实时处理数据的方法,包含以下步骤:步骤S1、离线实时数据采集:利用Cloudera提供的分布式日志采集系统Flume分别从数据源采集离线数据和实时数据;步骤S2、数据存储和缓存:Flume采集到的离线数据会传到HDF ...
【技术保护点】
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数据库将离线数据的结果和实时数据的结果传到前端网页进行展示。
【技术特征摘要】
1.一种基于Spark大数据框架离线实时处理数据的方法,其特征在于,包含以下步骤:步骤S1、离线实时数据采集:利用Cloudera提供的分布式日志采集系统Flume分别从数据源采集离线数据和实时数据;步骤S2、数据存储和缓存:Flume采集到的离线数据会传到HDFS分布式系统上进行存储,采集到的实时数据会传到Kafka集群上进行缓存;步骤S3、数据预处理:利用Spark计算框架对HDFS分布式系统上存储的离线数据进行预处理,利用实时计算框架SparkStreaming从Kafa集群中提取实时数据进行预处理;步骤S4、数据入库:通过Spark预处理之后的离线数据传入到Hive数据仓库中,通过SparkStreaming预处理之后的实时数据传入到Mysql数据库中进行分类存储;步骤S5、数据分析:在Hive数据仓库中对预处理之后数据根据需求进行语句分析,进一步得出需要的结果;步骤S6、数据展示:将Hive数据仓库中最后的结果传入到Mysql数据库中,通过Mysql数据库将离线数据的结果和实时数据的结果传到前端网页进行展示。2.根据权利要求1所述基于Spark大数据框架离线实时处理数据的方法,其特征在于,所述步骤S1具体为:在机器上搭建好Spark平台的环境并安装相关软件,所述相关软件包括Mysql、Flume;配置Flume相关的配置文件,以Avro的方式进行传输数据;每台机器运行一个Flumeagent,一个Flumeagent中包含M个Source和Sink,Channel作为两者连接的通道;其中M≥1。3.根据权利要求1所述基于Spark大数据框架离线实时处理数据的方法,其特征在于,所述步骤S2具体为:Source从数据源处收集数据后传递给Channel,Sink从C...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。