MyEclipes下执行Hive语句查询Hbase数据库数据

前几天有一个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) {

e.printStackTrace();

}

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']” ;

break;

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));

}

return 0;

}

时间: 2024-09-17 04:43:57

MyEclipes下执行Hive语句查询Hbase数据库数据的相关文章

RMAN 提示符下执行SQL语句

       在手动恢复数据库时,有时候需要在SQL*Plus提示符以及操作系统提示符,RMAN提示符下来回切换显得有些繁琐.实际上RMAN为我们提供了命令行下执行一些简单的SQL语句以及PL/SQL的方法,以避免上述情形.本文描述了RMAN提示符下的一些常用命令及其用法.   1.RMAN提示符下执行SQL语句       语法: SQL '<command>' ;           语法比较简单,就是提示符下输入SQL,后接SQL命令,命令用单引号括起来      command 通常为

优化-PLsql 执行sql语句查询超时

问题描述 PLsql 执行sql语句查询超时 sql查询语句中字段有几十个,并且有大量的聚合函数,求最大最小值,求和之类的 ,表中数据量非常多,也建了索引,在PLsql 中执行sql语句,一直在执行,强行停止停止不下来, 怎么处理,sql语句怎么优化,数据库是不是有点问题啊 解决方案 ··· 起码把代码发上来给大家看看吧! (/ □ ) 解决方案二: 聚合函数对效率影响应该不是很大,你看看是不是子查询很多,尽量优化一下.如果不是这种情况,可以考虑索引,或者扩展数据库使用的内存大小.希望能帮到你!

总sql语句查询access数据库,但是一遇到表中有空值的记录,程序就会产生中断,该怎么办?

问题描述 总sql语句查询access数据库,但是一遇到表中有空值的记录,程序就会产生中断,该怎么办? 总sql语句查询access数据库,但是一遇到表中有空值的记录,程序就会产生中断,该怎么办? 解决方案 加上判断,比如select * from 表 where 字段<>null 解决方案二: 判断字段是否为null,如果为null 将改字段设一个''空字符串

字符集-vs2008做的窗体程序查询oracle数据库数据,中文数据显示乱码

问题描述 vs2008做的窗体程序查询oracle数据库数据,中文数据显示乱码 公司的服务器字符集是英文的,然后我在电脑上装了oracle和plsql,修改了oracle下的注册表字符集都为英文的.我在plsql中查询的中文数据都可以正常显示,我在里面添加的中文数据也可以正常显示.但是,我在vs2008中做了一个查询,将查询出来的数据绑定到datagridview控件上,就出现了中文数据显示乱码,还有就是我自己在vs2008中添加新数据,在plsql中看到的数据中中文都显示为??? 跪求高手帮帮

sql-各位大神,oracle查询当前数据库数据有多少兆?

问题描述 各位大神,oracle查询当前数据库数据有多少兆? 我想查一下当前数据库的所有表里面的数据总共有多少兆,请问有这个SQL吗? 解决方案 --查询表空间使用情况 SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)", D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)", TO_CHAR(ROUND((D.TOT_GROOT

[20120327]toad与sqlplus下执行sql语句的一个细节.txt

TOAD是一个很好的图形化oracle管理工具,昨天在解决一个问题时遇到了一些细节问题,实际上我以前就知道,现在把它写下来: 我使用toad版本是9.6.0.27. 1.在sqlplus下执行如下: SQL> select /*+ zzzz */ * from dept where deptno=10;     DEPTNO DNAME          LOC ---------- -------------- -------------         10 ACCOUNTING     N

这样写一个按钮语句不能更新数据库数据,问题出在哪里??

问题描述 有个ID为NewsBox的TextBox控件,我内容打进去,然后按个确定按钮,想把内容更新到数据库,但是按钮好像不灵,不知道问题出在哪里,望高手指点,菜鸟学习中:还有个问题,就是da.Command的内容是不是一会儿在调用da.update方法的时候会被自动用起来,那么就是说da.Update(ds,"News")就等于对ds对象的"News"表格执行了da.Command语句?//数据库中用到的表名为NewsprotectedvoidButton1_Cl

sql2000 执行sql语句插入一条数据完整语句怎么写

问题描述 我想写一个聊天室机器人,定时自动执行sql语句向数据库Room_List表插入一条数据.按这个插入语句:insertinto表名(字段1,字段2)values('内容1','内容2')进行插入INSERTINTO[Room_List](UserID,Sid,UserNick,Text,AddTime)VALUES("76368","0","测试会员","我是新手,请多关照","2016-6-523:59:3

构建VPN满足云下开发环境访问云HBase数据库

背景 当前云HBase正在公测中,不少客户在使用,在使用的过程中,一般开发同学在自己的电脑研发,需要在自己的电脑连接云HBase服务,对于性能等需求要求不高.本文主要讲述怎么通过VPN.VPC等方式构建一个测试环境,以满足开发的需求. 步骤 本文涉及的网络知识点比较多,可以事先看看VPC的文档.大致的架构如下所示: 服务端:一个云HBase集群.一个VPC网络(包含虚拟交换机).一台安装了FlexGW的ecs.客户端:一个拨号软件Tunnelblick.接下来将分别从服务端及客户端来讲述整个流程