(2)Storm实时日志分析实战--Topology的设计

需求

日志数据样例:

215.187.202.215 - - [1481945172991] “GET/IBEIfeng.gif?order_id=1&orderTime=1481945172991&memberId=1234568970080798&productInfos=10009-2703.88-B-1|10001-2494.47-D-2|10003-2561.05-A-1&orderAmt=10253.87 HTTP/1.1” 200 0 “-” “Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko)

字段:

变量名对应数据
ip用户ip
serverTime服务器实际
requestUrl请求地址
httpRefer映射信息
userAgent用户信息
orderInfo订单信息

需求:

  1. 统计分析 每天、每小时、每分钟 各个IP访问量
  2. 统计 每天、每小时、每分钟 被访问的url 的次数
  3. 统计 外链数
  4. 解析userAgent获取得到 浏览器信息 操作系统信息,统计统计 每天、每小时、每分钟访问客户使用浏览器或者操作系统情况
  5. orderInfo order_id=2&orderTime=1481945173124&memberId=4958868887900989&productInfos=10001-217.40-B-1|10003-2561.05-A-1&orderAmt=2778.44
    分析订单信息得到基于用户的消费情况
    基于商品
    统计销售额

处理流程

这里写图片描述

  • KafaSpout

    负责从Kafka集群读取日志信息

  • LogParserBolt

    将日志记录进行解析,抽取出所需的字段

    数据传递:
    这里写图片描述

  • RequestUrlParserBolt

    抽取url,获取orderInfo

    数据传递:
    这里写图片描述

  • HttpReferParserBolt

    数据传递:

    这里写图片描述

  • UserAgentParserBolt

    用户浏览器和操作系统的信息

    数据传递:

    这里写图片描述

  • CountUrlBolt

    负责统计url

    数据传递:

    这里写图片描述

  • CountOutLinkBolt

    统计外部链接

    数据传递:

    这里写图片描述

  • CountBrowserBolt

    负责统计浏览器

    数据传递:

    这里写图片描述

  • CountSearchKeyBolt

    负责统计搜索关键字

    数据传递:

    这里写图片描述

  • CountOsBolt

    负责统计用户操作系统信息

    数据传递:

    这里写图片描述

  • CountIpBolt

    统计用户的ip

    数据传递:

    这里写图片描述

  • SaveBolt

    负责数据最后的保存

    数据传递:

    这里写图片描述

    优化

上面有多个负责统计的CountXXXBolt,现在设计一个通用的CountKipBolt

这里写图片描述

即最后的流程如下:

这里写图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值