用java api 实现查询 Hive 数据

摘要:
版本:cdh5.4.7,hive1.1.0pom文件         org.apache.hivehive-jdbc1.2.1org.apache.hadoop

版本:cdh5.4.7, hive1.1.0

pom文件

         <dependency>
			<groupId>org.apache.hive</groupId>
			<artifactId>hive-jdbc</artifactId>
			<version>1.2.1</version>
		</dependency>
		<dependency>
			<groupId>org.apache.hadoop</groupId>
			<artifactId>hadoop-common</artifactId>
			<version>2.6.0</version>
		</dependency>
		<dependency>
			<groupId>org.apache.hadoop</groupId>
			<artifactId>hadoop-client</artifactId>
			<version>2.6.0</version>
		</dependency>
		<dependency>
			<groupId>org.apache.thrift</groupId>
			<artifactId>libthrift</artifactId>
			<version>0.9.3</version>
		</dependency>

需要先启动的服务有:

./hive --service hiveserver2

./hive --service metastore

java代码:

public static voidmain(String[] args) {
        String connectionURL = "jdbc:hive2://node11:10000/didu";
        String drivername = "org.apache.hive.jdbc.HiveDriver";
        String username = "";
        String password = "";
        try{
            Class.forName(drivername);
                } 
            catch(ClassNotFoundException e)
              {
            //TODO Auto-generated catch block
e.printStackTrace();
            System.exit(1);
              }
              try{
                Connection con =DriverManager.getConnection(connectionURL, username, password);
                if(con != null) 
                {
                System.out.println("Connected");
                    }
                else
                    {
                System.out.println("Not Connected");
                }
                Statement stmt =con.createStatement(); 
                //select * query
String sql;
                ResultSet res;
               sql = "select * from u_data limit 10";
               //sql = "show tables";
                System.out.println("Running: " +sql);
                    res =stmt.executeQuery(sql);
                while(res.next())
                {
                      System.out.println(String.valueOf(res.getString(1)) + "	" + res.getString(2));
                }
                  }
              catch(SQLException se) 
              {
                se.printStackTrace();
              }
    }

结果展示:

用java api 实现查询 Hive 数据第1张

免责声明:文章转载自《用java api 实现查询 Hive 数据》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇pgloader 学习(六) 加载csv 数据nginx四层代理下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Hive中的排序语法

ORDER BY hive中的ORDER BY语句和关系数据库中的sql语法相似。他会对查询结果做全局排序,这意味着所有的数据会传送到一个Reduce任务上,这样会导致在大数量的情况下,花费大量时间。 与数据库中 ORDER BY 的区别在于在hive.mapred.mode = strict模式下,必须指定 limit 否则执行会报错。 hive>...

Hive 表结构操作

添加列  add columns     alter table table_name add columns (id int comment '主键ID' ) ;     默认在表所有字段之后,分区字段之前。 替换列 replace columns ,会替换所有列,慎用     alter table table_name replace column...

HadoopDB:混合分布式系统

HadoopDB 是一个 Mapreduce 和传统关系型数据库的结合方案,以充分利用 RDBMS 的性能和 Hadoop 的容错、分布特性。2009 年被 Yale 大学教授 Abadi 提出,继而商业化为 Hadapt,据称从 VC 那儿拉到了 10M 刀投资。 本文是对 HadoopDB 论文的总结。其中不免掺杂些自己的不成熟想法,更详细的内容,还...

基于Centos7.6上Ambari2.7.4+HDP3.1.4离线安装

概述 Ambari:基于Web的工具,支持Apache Hadoop集群的创建 、管理和监控。可以从apache官网下载源码,自己定义开发自己需要的样式。这里先设下一个伏笔,有兴趣的可以跟着我的博客。后面会有apache-ambari二次开发。HDP:包含了hadoop生态系统的所有软件项目,比如HBase,Zookeeper,Hive,Pig等等。HDP...

大数据自学3-Windows客户端DbVisualizer/SQuirreL配置连接hive

前面已经学习了将数据从Sql Server导入到Hive DB,并在Hue的Web界面可以查询,接下来是配置客户端工具直接连Hive数据库,常用的有DbVisualizer、SQuirreL SQL Client、DataGrip,只试用了前面两种,花了1天多时间最终实现了用这两款工具连Hive,还是挺有成就感的。 先把环境说明下,有些问题跟环境版本是非常...

hivef:hive 执行 sql 文件

hivef:hive 执行 sql 文件 #!/bin/bash yesterday=`date -d -1days '+%Y-%m-%d'` today=`date '+%Y-%m-%d'` tomarrow=`date -d 1days '+%Y-%m-%d'` #echo "从外部只传递两个参数时,第一个参数必须是 hive sql 文件,第二个...