前几天有一个top100的案例分享,全程听了各个公司架构组的一些案例技术分享,发现大家都在大数据方面投入很大,相比当当,58,阿里巴巴,facebook,google这些公司。新浪的分享者比较保守,很多不算牵扯到细节都系都说不方便说,其实技术都是那些技术,只是业务不同产生很多不同的架构,感觉没必要。
闲话不多说,最近完成了在myeclipes完成了hive操作hbase数据库数据,直接上代码
定义枚举。
public enum sqltype
{
allordernumber,
dayorderunmber,
}
具体方法
public int getallordernumber() {
java.util.calendar c=java.util.calendar.getinstance();
java.text.simpledateformat f=new java.text.simpledateformat(“yyyy-mm-dd-hh-mm”);
return getallordernumber(“0″, f.tostring());
public int getallordernumber(string startdata, string enddata) {
try {
return (integer) selecttable(sqltype.allordernumber,startdata,enddata);
} catch (sqlexception e) {
e.printstacktrace();
} catch (classnotfoundexception e) {
return 0;
public static object selecttable(sqltype type,string startdata,string enddata) throws sqlexception, classnotfoundexception {
class.forname(“org.apache.hadoop.hive.jdbc.hivedriver”);
string querysql = null;
switch(type)
case allordernumber:
querysql = “select count(distinct content['userid']) from loanorder where content['createtime']>’@’ and content['createtime']<‘!'” ;
querysql = querysql.replaceall(“@”,startdata);
querysql = querysql.replaceall(“!”,enddata);
system.out.println(querysql);
break;
case dayorderunmber:
system.out.println(“1″);
querysql = “select *, count( distinct content['userid']) from loanorder group by content['userid']” ;
default :system.out.println(“没有对应的枚举类型”);
connection con = drivermanager.getconnection(
“jdbc:hive://192.168.3.232:10000/default”, “”, “”);
statement stmt = con.createstatement();
resultset res = stmt.executequery(querysql); // 执行查询语句
while (res.next()) {
system.out.println(“result: key: ” + res.getstring(1)+”——-“+ res.getstring(2));
// system.out.println(“result: key: ” + res.getstring(1));