Storm项目:流数据监控 <6…

博客公告:

(1)本博客所有博客文章搬迁至《博客虫》http://www.blogchong.com/

(2)文章对应的源码下载链接参考博客虫网站首页的“代码GIT”直通车;

(3)更多的相关文章更新,以及代码等,请关注博客虫网站,网站中有技术Q群,以及代码共享链接。

文档说明

   DataOptTopology项目由之前的monitorTopology整理而来,并且在此基础上增加了功能,梳理了代码。

代码获取:https://code.csdn.net/blogchong/dataopttopology

 

代码结构说明

2.1 代码树

Storm项目:流数据监控 <wbr><6>最新代码结构及详解

//7个包,20java文件

2.1 storm

该包下只有一个启动主类,即构造拓扑结构的地方。在这里,你可以用现有的spout以及bolt根据构造top的基本规则,构造出自己想要的数据处理流程top来。

 

2.2 storm.base

//包含了各种其他类所需要的基本类,公共类。

 

ConfCheck.java

定时检测配置文件是否发生了更改,是一个线程类,供所有有配置文件的组件调用,主要是一些spout以及bolt组件。

 

MacroDef.java

静态变量的宏定义类,供所有的类调用。

 

MetaMessageWrapper.java

MetaSpout的一个辅助类。

 

MysqlOpt.java

封装了一些mysql的基本操作,比如连接,数据插入,数据库关闭等基本操作,主要是供MysqlBolt调用。

 

StringScheme.java

MetaSpout输出规范化辅助类,主要是申明接入数据的编码。

 

2.3 storm.bolt

//包含了各种bolt处理类

 

MonitorBolt.java

数据过滤bolt,包含了普通匹配、正则匹配、范围匹配等数据过滤功能。

 

MysqlBolt.java

数据Mysql落地接口,将top处理的数据最终存入Mysql中。

 

PrintBolt.java

直接将数据打印输出。

 

2.4 storm.spout

//定义了各种数据接入的spout

 

MetaSpout.java

数据从Metaq(消息中间件)中接入。

 

ReadLogSpout.java

直接从本地读取Log,并且发布出去。

 

2.5 storm.xml

//xml配置文件中读取配置文件

 

MonitorXml.java

MonitorBolt.xml中读取配置信息。

MysqlXml.java

MysqlBolt.xml中读取配置信息。

SpoutXml.java

MetaSpout.xml中读取配置信息。

 

2.6 storm.source

GetSource.java

利用随机机制产生domain.log,即虚拟域名交易数据集,是一个主类,模拟构造最初始的数据集。

 

2.7 storm.helloworld

//stormhelloworld程序,即word count实例,有主类,是个单独的模块。

 

HelloWorldTopology.java

HelloWorld主类,启动类,注意wordcountbolt的分组方式,是以字段分组。

ReadFileSpout.java

读取数据spout,与ReadLogSpout相似。

WordNormalizerBolt.java

数据规范化类,将输入的domain记录拆分,并且只将域名拆分为三部分,例如www.XXX.com拆成wwwXXXcom,此外包括seller四个词向后发布。

WordCountBolt.java

单词统计,利用HashMap的原理。

PrintWorldCountBolt.java

打印单词统计信息,更直观的看到统计结果。

 

项目总结

3.1 项目现状

Ø  实现了一个Top的基本流程;

Ø  提供了一个过滤操作的处理方式;

Ø  提供了Metaq数据接入接口;

Ø  提供了Mysql数据落地接口;

Ø  提供了stormhelloworld实例;

Ø  实现了拓扑的动态配置,即不重启拓扑修改配置生效;

 

3.2 项目发展

Ø  实现top的定制化,即可以根据需求配置即可达到,不用重新打包;

Ø  实现metaqbolt接口;

Ø  实现HDFS落地接口;



除非特别申明,博客虫文章都为原创,非商业用途转载请注明,作者、地址来源,商业用途请联系站长。

本文地址:http://www.blogchong.com/post/storm_monitor_code_push.html


若果你觉得blogchong的这篇技术文章对你有用,别忘了点赞支持,也可以留言支持,当然有其他问题也可以留言。

欢迎继续关注博客虫!!!Storm项目:流数据监控 <wbr><6>最新代码结构及详解


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值