Storm实时日志分析实战--编码实现

Storm实时日志分析实战--编码实现

ID:37898376

大小:73.50 KB

页数:13页

时间:2019-06-02

Storm实时日志分析实战--编码实现_第1页
Storm实时日志分析实战--编码实现_第2页
Storm实时日志分析实战--编码实现_第3页
Storm实时日志分析实战--编码实现_第4页
Storm实时日志分析实战--编码实现_第5页
资源描述:

《Storm实时日志分析实战--编码实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Storm实时日志分析实战--编码实现LogParserBolt类packagecom.ibeifeng.bigdata.storm.weglog;importbacktype.storm.task.OutputCollector;importbacktype.storm.task.TopologyContext;importbacktype.storm.topology.IBasicBolt;importbacktype.storm.topology.IRichBolt;importbacktype.storm.topology.OutputFieldsDeclarer;i

2、mportbacktype.storm.tuple.Fields;importbacktype.storm.tuple.Tuple;importbacktype.storm.tuple.Values;importjava.text.DateFormat;importjava.text.SimpleDateFormat;importjava.util.Date;importjava.util.Map;importjava.util.regex.Matcher;importjava.util.regex.Pattern;importstaticcom.ibeifeng.bigda

3、ta.storm.weglog.WebLogConstants.*;/***日志解析类*Createdbyadon2016/12/17.*/publicclassLogParserBoltimplementsIRichBolt{privatePatternpattern;privateOutputCollectorcollector;@Overridepublicvoidprepare(MapstormConf,TopologyContextcontext,OutputCollectorcollector){pattern=Pattern.compile("([^]*)[^]

4、*[^]*\[([\d+]*)\]\"[^]*([^]*)[^]*\"\d{3}\d+\"([^"]*)\"\"([^"]*)\"\"[^]*\"");this.collector=collector;}@Overridepublicvoidexecute(Tupleinput){StringwebLog=input.getStringByField("str");//解析if(webLog!=null

5、

6、!"".equals(webLog)){Matchermatcher=pattern.matcher(webLog);if(m

7、atcher.find()){//matcher.group(0);Stringip=matcher.group(1);StringserverTimeStr=matcher.group(2);//处理时间longtimestamp=Long.parseLong(serverTimeStr);Datedate=newDate();date.setTime(timestamp);DateFormatdf=newSimpleDateFormat("yyyyMMddHHmm");StringdateStr=df.format(date);Stringday=dateStr.subs

8、tring(0,8);Stringhour=dateStr.substring(0,10);Stringminute=dateStr;StringrequestUrl=matcher.group(3);StringhttpRefer=matcher.group(4);StringuserAgent=matcher.group(5);//分流this.collector.emit(IP_COUNT_STREAM,input,newValues(day,hour,minute,ip));this.collector.emit(URL_PARSER_STREAM,input,new

9、Values(day,hour,minute,requestUrl));this.collector.emit(HTTPREFER_PARSER_STREAM,input,newValues(day,hour,minute,httpRefer));this.collector.emit(USERAGENT_PARSER_STREAM,input,newValues(day,hour,minute,userAgent));}}this.collector.ack(input);}@Overridepubl

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。