Package com.etao.adhoc.metric.load

Source Code of com.etao.adhoc.metric.load.HigoQueryService

package com.etao.adhoc.metric.load;

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;

import com.alimama.mdrill.jdbc.MdrillQueryResultSet;
import com.etao.adhoc.metric.Metric;
/**
* mvn install:install-file -Dfile=/home/lingning/yannian.mu/adhoc-metric/lib/com/alipay/higo/bluewhale-jdbc/1.0.2/bluewhale-jdbc-1.0.2.jar -DgroupId=com.alipay.higo -DartifactId=bluewhale-jdbc -Dversion=1.0.2 -Dpackaging=jar

mvn install:install-file -Dfile=/home/lingning/yannian.mu/adhoc-metric/lib/com/alipay/higo/bluewhale-higo/1.0.2/bluewhale-higo-1.0.2.jar -DgroupId=com.alipay.higo -DartifactId=bluewhale-higo -Dversion=1.0.2 -Dpackaging=jar
mvn -DskipTests clean package
* @author yannian.mu
*
*/
public class HigoQueryService implements QueryService {
  private Connection conn ;
  private Statement stmt;
 
  private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  Map conf;
  public HigoQueryService(Map conf) {
    this.conf=conf;
    String url = (String) conf.get("metric.higo.conn.str");
    try {
      Class.forName("com.alimama.mdrill.jdbc.MdrillDriver");
      conn = DriverManager.getConnection(url, "", "");
      stmt = conn.createStatement();
    } catch (ClassNotFoundException e) {
      System.err.println("[" + sdf.format(new Date(System.currentTimeMillis())) + "] "
          + "Can not find class: com.alimama.mdrill.jdbc.MdrillDriver");
      e.printStackTrace();
    } catch (SQLException e) {
      System.err.println("[" + sdf.format(new Date(System.currentTimeMillis())) + "] "
          + "Error when building Higo Connection");
      e.printStackTrace();
    }
   
  }
  public Metric getMetric(String tablename, String thedate) throws IOException{
    String sqlFormat=(String) conf.get("adhoc.metric.mdrill.sql."+tablename);
    Metric metric = null;
    String sql = String.format(sqlFormat, thedate);
    System.out.println("Higo SQL:" + sql);
    MdrillQueryResultSet rs;
    try {
      rs = (MdrillQueryResultSet) stmt.executeQuery(sql);
      if(rs.next()){
        metric = new Metric();
        metric.setThedate(thedate);
        metric.setType(1);
        metric.setTablename(tablename);
        metric.setLineCnt((long)Float.parseFloat(rs.getString(1)));
        metric.setImpression((long)Float.parseFloat(rs.getString(2)));
        metric.setFinClick((long)Float.parseFloat(rs.getString(3)));
        metric.setFinPrice(Float.parseFloat(rs.getString(4)));
        metric.setAlipayDirectNum((long)Float.parseFloat(rs.getString(5)));
        metric.setAlipayDirectAmt(Float.parseFloat(rs.getString(6)));
        metric.setAlipayIndirectNum((long)Float.parseFloat(rs.getString(7)));
        metric.setAlipayIndirectAmt(Float.parseFloat(rs.getString(8)));
      }
    } catch (SQLException e) {
      System.err.println("[" + sdf.format(new Date(System.currentTimeMillis())) + "] "
          + "Error when execute Higo SQL: "
          + sql);
      e.printStackTrace();
    }
   
    return metric;
  }
  public void close() {
    if(conn != null) {
      try {
        if(! conn.isClosed())
          conn.close();
      } catch (SQLException e) {
        // TODO Auto-generated catch block
        System.err.println("[" + sdf.format(new Date(System.currentTimeMillis())) + "] "
            + "Error when close Connection");
        e.printStackTrace();
      }
    }
  }


  public String getName() {
    return "HIGO";
  }
 
 

}
TOP

Related Classes of com.etao.adhoc.metric.load.HigoQueryService

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.