.;;;;;;;;;;;;;;;..*;/***日志解析类*Createdbyadon2016/12/17.*/lassLogParserBoltimplementsIRichBolt{privatePatternpattern;privateOutputCollectorcollector;***@Overridepublicvoidprepare(MapstormConf,TopologyContextcontext,OutputCollectorcollector){pattern=pile("([^]*)[^]*[^]*\\[([\\d+]*)\\]\\\"[^]*([^]*)[^]*\\\"\\d{3}\\d+\\\"([^\"]*)\\\"\\\"([^\"]*)\\\"\\\"[^]*\\\"");=collector;}***@Overridepublicvoidexecute(Tupleinput){StringwebLog=("str");//解析if(webLog!=null||!"".equals(webLog)){Matchermatcher=(webLog);if(()){//(0);Stringip=(1);StringserverTimeStr=(2);//处理时间longtimestamp=(serverTimeStr);Datedate=newDate();(timestamp);DateFormatdf=newSimpleDateFormat("yyyyMMddHHmm");StringdateStr=(date);Stringday=(0,8);Stringhour=(0,10);Stringminute=dateStr;StringrequestUrl=(3);StringhttpRefer=(4);StringuserAgent=(5);//(IP_COUNT_STREAM,input,newValues(day,hour,minute,ip));(URL_PARSER_STREAM,input,newValues(day,hour,minute,requestUrl));(HTTPREFER_PARSER_STREAM,input,newValues(day,hour,minute,httpRefer));(USERAGENT_PARSER_STREAM,input,newValues(day,hour,minute,userAgent));}}(input);}***@Overridepublicvoidcleanup(){}***@OverridepublicvoiddeclareOutputFields(OutputFieldsDeclarer
Storm实时日志分析实战--编码实现 来自淘豆网m.daumloan.com转载请标明出处.