您的当前位置:首页正文

基于hadoop框架的大数据处理与分析系统

2020-09-10 来源:年旅网
建电脑

COMPUTER

O

DOI:10.16707/j.cnki.fjpc.2018.05.059

基于hadoop框架的大数据处理与分析系统

陈龙\\黄丹芸u,3

(1泉州师范学院数学与计算机科学学院福建泉州362000;2福建省大数据管理新技术与知识工程重点实验室福建泉州

362000;

3智能计算与信息处理福建省高等学校重点实验室福建泉州362000)

【摘要】随着中国移动互联网以及电商物流的发展,企业每天都会产生大量的数据,需要对异常数据进行提取与分

析。本文主要运用hadoop生态技术对模拟出的数据进行异常数据的提取与分析,模拟出大数据实时计算的处理场景。

【关键词】hadoop;实时性;异常数据

随着互联网技术的不断发展,大数据技术也得到越来越广 泛的利用,而面对每天产生的EB级别的数据,怎么对异常的数 据进行提取与分析就显得尤为重要。本文主要运用hadoop与 storm这两个框架模拟出一个预警系统,该系统以五分钟为一 个时间段,提取在这个时间段内点击次数大于等于五次的用户 IP地址信息。将模拟产生的数据存入分布式文件系统,通过数 据提取程序提取出相应的数据。

1. Storm 简介(1) (2)

Storm的两个关键进程:Nimbus和Supervisor,它们之间 Topology(拓扑):在Storm中,Topology相当于一个集合,

图3 Topology内部Spout和Bolt之间的数据流关系

(6)Bolt:接收来自spout的数据,对其进行一系列的操作。2. Storm数据模型

数据源源不断从spout产生,数据流(Stream)流经Bolt处 理,最后存放在外部的分布式文件系统或者数据库当中。

由 Zookeeper 协调。

它包括了 Strom实时数据处理流的大部分必须的组件。包含 Spout跟Bolt。Topology的架构示意图(图1与图2)。

图4 storm进程相关图1

图5 storm进程相关图2

4.数据处理

(3)数据模型Tuple:是Storm的数据处理模型,可以对经过 序列化的数据进行处理。

(4)

节点看到worker进程,这其中运行着一到多个Topology。

(5) Spout (消息源):Spout是数据源。

(1)环境搭建要求 1)CentOS6.5操作系统3) Apache-Storm-1.6.04) Zookeeper-3.2.3

)Hadoop-2.5.2worker(进程):工作进程,当storm程序启动后就会在从 2

•116

*

福建电脑

20185

年第

=福建 电月亩

UJIAN COMPUTER

5) Flume6) Mysql5.0

7) Eclipse (linux 版本)(2)系统结构

用户访问系统的过程中会留下用户的访问信息,比如IP、 用户名、访问时长等等,这些数据会被存到HDFS上,利用大数 据梳理框架根据需求进行处理,将处理结果存到数据库,以供 分析,做出决策。

(3) 数据处理代码需求

模拟网页点击信息数据,对模拟的点击信息数据进行处 理,将每五分钟点击次数大于等于5次的信息存人mysql数据 库。分别设计数据生产类,数据采集类,数据处理类,数据库写 人类,序列化类,执行主类。其中数据生产类负责生产数据,主 要是产生模拟数据,每五分钟会生成一个存储文件。数据采集 类负责采集来自数据生产类的数据从而进行更加有效的数据 处理。数据处理类负责按照业务需求提取相关的数据,对数据 进行清洗提高数据的质量。数据库写人类用于将处理过的数据 存储到数据库。最后是程序的人口主执行类。

(4) 数据库库表设计

1)mysql数据库设计,表名abnormal

表 1 abnormal

uiddatetimeshourtag

用户

日期

频次

时间范围

ip

2)建表语句

CREATE TABLE abnormal(

'uid' varchar(20) DEFAULT NULL,'date' varchar(255) DEFAULT NULL,'times' int(11) DEFAULT NULL,'hour' int(40)

DEFAULT NULL,

'tag' varchar(255) DEFAULT NULL)ENGINE=InnoDB DEFAULT CHARSET=utf8;(5)详细代码设计1)

模拟数据生产类ProductData:模拟数据生产,产生的些数据存人HDFS文件,供给后边程序的提取使用。public class ProductData {

}

2) 数据序列化类AppConfiguration:先对数据进行序列化再进行传输。

@SuppressWarnings(MserialM)

public class AppConfiguration extends Configuration imple-

ments Serializable}

3)

数据采集类ParalleFileSpout:需要导人相应的包来实现

数据的采集功能。

public class ParalleFileSpout extends BaseRichSpout {}

4) 数据处理类

public class DetectionBolt extends BaseBasicBolt {}5)

数据写人类:向数据库中写人数据,可以通过数据库看

到所产生的数据,进而对这些数据进行进一步的分析。

public class CountBolt extends BaseBasicBolt{}

6) 执行主类 public class Main {(6)运行结果

运行结果保存到mysql数据中,结果如图7所示

uid

date

times

hour

tag>666352 2018-04-2^ 61 19 natIPJ666352 2018-04-2^ 61 1§ natJP)663520 2018-04-2^ 61 19 natIP>635233 201S-04-2^ 61 19 natIP>6356&6 2018-04-2^

61

19 natIP

图7 mysql数库存储的运行结果

5结果分析

由数据库的结果显示可知,在程序运行一段时间之后,数 据库存储的是同一 IP地址五分钟之内点击次数大于5次的用 户点击信息,由此我们可以看到natIP的的点击信息。利用这些 信息我们可以对用户的行为进行分析,判断用户是否为正常操 作,进而采取一些应对措施。

参考文献:

[1 ]王海,华东,刘喻,吕粤海译.Tom White.Hadoop权威指南:大数据 的存储与分析(第4版)[M]•北京:清华大学出版,2017,7.

[2] 董昭译.P.Taylor Goetz,Brian O'Neill.Storm 分布式实时计算模式 [M ].北京:机械工业出版社,2015.1.

[3] Ghemawat S,Gobloff H,Leung ST.The google file system [J] .ACM- SIGOPS Operating Systems Revlew,2003,37 ( 5 ) :29-43.

[4] Dean J,Ghemawat S.MapReduce:Simplified data processing on large clusters[J].Communications of the ACM,2005, 51(1):107-113.

这[5] Chang F,Dean J,Ghemawat S,Hsieh WC, Wallach DA,Burrows M,

Chandra T,Fikes A,Gruber RE.Bigtable : A distributed storage system for

structured data [J].ACM Trans. On Computer Systems,2008,26 (2): 1 -

26.作者简介:

陈龙(1993-),男,汉族,河北省保定市人,泉州师范学院14级信 息与计算科学专业学生,本科。

2018年第

5

期福建电脑

*117*

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