Package com.alimama.quanjingmonitor.mdrillImport.parse.for416tmp

Source Code of com.alimama.quanjingmonitor.mdrillImport.parse.for416tmp.user_rd

package com.alimama.quanjingmonitor.mdrillImport.parse.for416tmp;

import java.util.Date;

import org.apache.log4j.Logger;

import com.alimama.mdrillImport.InvalidEntryException;

public class user_rd extends com.alimama.mdrillImport.DataParser{
  private static final long serialVersionUID = 1L;
  public volatile long groupCreateerror=0;

  private static Logger LOG = Logger.getLogger(user_rd.class);

  private volatile long lines=0;
  private static long TS_MAX=3600l*24*31;

  private volatile long laststartts=System.currentTimeMillis()/1000-TS_MAX;
  private volatile long lastendts=System.currentTimeMillis()/1000+TS_MAX;
  @Override
  public DataIter parseLine(String line) throws InvalidEntryException {
   
    try {
      if(line==null)
      {
        return null;
      }
      String[] clicklog=line.split("\001",-1);
      if(clicklog.length<5)
      {
        return null;
      }
     
//      2.1     1397048787              e8c48f82dd846b6b4e1d493c914891d2        mm_31791272_3084562_21540303    1       182.118.21.1180       laiwang http://redirect.simba.taobao.com/rd?w=laiwang&f=http%3A%2F%2Fm.laiwang.com%2Fmarket%2Flaiwang%2Fevent-square.php%3Feventid%3D3346308%26lwfrom%3D20140409235959005&p=mm_31791272_3084562_21540303&k=9e1261a0d26a4bed http://m.laiwang.com/market/laiwang/event-square.php?eventid=3346308&lwfrom=20140409235959005       0                                       20140409
//        2.1     1397049262              af005c4080cd028b9815ff0db0a7a8cf        mm_31791272_3084562_21538328    1       182.118.21.1200       laiwang http://redirect.simba.taobao.com/rd?w=laiwang&f=http%3A%2F%2Fm.laiwang.com%2Fmarket%2Flaiwang%2Fevent-square.php%3Feventid%3D3563080%26lwfrom%3D20140409235959008&p=mm_31791272_3084562_21538328&k=9e1261a0d26a4bed http://m.laiwang.com/market/laiwang/event-square.php?eventid=3563080&lwfrom=20140409235959008       0                                       20140409
     
      if(clicklog[4].isEmpty()||clicklog[1].isEmpty()||clicklog[1].length()<=5||clicklog[4].length()>50)
      {
        return null;
      }
     
   
     
      this.lines++;
      if(this.lines>100000)
      {
        this.laststartts=(System.currentTimeMillis()/1000)-TS_MAX;
        this.lastendts=(System.currentTimeMillis()/1000)+TS_MAX;
        this.lines=0;
      }
     
      long ts = Long.parseLong(clicklog[1]);
      if(ts<laststartts||ts>lastendts)
      {
        return null;
      }
     
     
      DataIterParse rtn= new DataIterParse(clicklog);
     
      return rtn;
    } catch (Throwable nfe) {
      if(groupCreateerror<100)
      {
        LOG.error("InvalidEntryException:"+line,nfe);
        groupCreateerror++;
      }
     
      throw new InvalidEntryException("Invalid log `" + line + "'\n" , nfe);
    }
  }
 
  public static class DataIterParse implements DataIter{
    private String[] pvlog=null;

    public DataIterParse(String[] pvlog) {
      this.pvlog = pvlog;
    }

    @Override
    public boolean next() {
      return false;
    }


    @Override
    public Number[] getSum() {
      return  new Number[]{
        0
        ,1
        ,0
        ,0
        ,0
        ,0
        ,0
        ,0
    };
    }
   
    @Override
    public long getTs() {
       long ts = Long.parseLong(pvlog[1]);
       return (ts/10)*10000;
    }
   

     
    @Override
    public Object[] getGroup() {
       long ts = Long.parseLong(pvlog[1]);
       long ts300=(ts/300)*300000;
       Date d= new Date(ts300);
      
     
      return new String[] {
          String.valueOf(ColsDefine.formatDay.format(d)),
          String.valueOf(ColsDefine.formatMin.format(d)),
          "pc",
          "user_rd",
          String.valueOf(pvlog[4])
          , "pc"
          ,String.valueOf(ColsDefine.getName(pvlog[11], "tid"))//target
          ,""
          ,ColsDefine.version
      };

    }
   
  }


 
  @Override
  public String[] getSumName() {
    return ColsDefine.colSumName;

  }

  @Override
  public String getTableName() {
    return ColsDefine.tablename;
  }
 

  
  @Override
  public String[] getGroupName() {
    return ColsDefine.colname;
  }
}
TOP

Related Classes of com.alimama.quanjingmonitor.mdrillImport.parse.for416tmp.user_rd

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.