重要:在使用 JDBC 开发 Hive 程序时, 必须首先开启 Hive 的远程服务接口。使用下面命令进行开启:hive -service hiveserver &
1). 测试数据
userinfo.txt文件内容(每行数据之间用tab键隔开):
1   xiapi2    xiaoxue3    qingqing
2). 程序代码
 packagecom.ljq.hive;import java.sql.Connection;
import java.sql.DriverManager;import java.sql.ResultSet;
import java.sql.SQLException;import java.sql.Statement;
import org.apache.log4j.Logger;
public class HiveJdbcClient {
private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver";
private staticString url = "jdbc:hive://192.168.11.157:10000/default";
private staticString user = "hive";
private static String password = "mysql";
private staticString sql = "";
private static ResultSet res;
private static finalLogger log = Logger.getLogger(HiveJdbcClient.class);
public static voidmain(String[] args) {
try {
Class.forName(driverName);
Connection conn = DriverManager.getConnection(url,user, password);
Statement stmt =conn.createStatement();
// 创建的表名
String tableName ="testHiveDriverTable";
/** 第一步:存在就先删除 **/
sql = "drop table" + tableName;
stmt.executeQuery(sql);
/** 第二步:不存在就创建 **/
sql = "createtable " + tableName + " (key int, value string) row format delimited fields terminated by'\t'";
stmt.executeQuery(sql);
// 执行“show tables”操作
sql = "show tables'" + tableName + "'";
System.out.println("Running:" + sql);
res =stmt.executeQuery(sql);
System.out.println("执行“showtables”运行结果:");
if (res.next()) {
System.out.println(res.getString(1));
}
// 执行“describe table”操作
sql = "describe" + tableName;
System.out.println("Running:" + sql);
res =stmt.executeQuery(sql);
System.out.println("执行“describetable”运行结果:");
while (res.next()) {
System.out.println(res.getString(1) + "\t" +res.getString(2));
}
// 执行“load data into table”操作
String filepath ="/home/hadoop/ziliao/userinfo.txt";
sql = "load datalocal inpath '" + filepath + "' into table " + tableName;
System.out.println("Running:" + sql);
res =stmt.executeQuery(sql);
// 执行“select * query”操作
sql = "select *from " + tableName;
System.out.println("Running:" + sql);
res = stmt.executeQuery(sql);
System.out.println("执行“select* query”运行结果:");
while (res.next()) {
System.out.println(res.getInt(1) + "\t" + res.getString(2));
}
// 执行“regular hive query”操作
sql = "selectcount(1) from " + tableName;
System.out.println("Running:" + sql);
res =stmt.executeQuery(sql);
System.out.println("执行“regularhive query”运行结果:");
while (res.next()) {
System.out.println(res.getString(1));
}
conn.close();
conn = null;
} catch (ClassNotFoundException e) {
e.printStackTrace();
log.error(driverName +" not found!", e);
System.exit(1);
} catch (SQLException e) {
e.printStackTrace();
log.error("Connection error!", e);
System.exit(1);
}
}
}
3). 运行结果(右击-->Run as-->Run on Hadoop)
Running:show tables'testHiveDriverTable'执行“show tables”运行结果:
testhivedrivertable
Running:describe testHiveDriverTable
执行“describe table”运行结果:
key   intvalue    string
Running:load data local inpath'/home/hadoop/ziliao/userinfo.txt' into table testHiveDriverTable
Running:select * fromtestHiveDriverTable
执行“select * query”运行结果:1    xiapi2    xiaoxue3   qingqing
Running:select count(1) fromtestHiveDriverTable
执行“regular hive query”运行结果:3

Hive和Jdbc示例的更多相关文章

  1. Hive:JDBC示例

    1)本地目录/home/hadoop/test下的test4.txt文件内容(每行数据之间用tab键隔开)如下所示: [hadoop@master test]$ sudo vim test4.txt ...

  2. Hive的JDBC使用&并把JDBC放置后台运行

    使用JDBC访问HIVE: 首先启动hive的JDBC服务. 进入hive的bin目录: 这样启动是启动到前台.如果 要想启动到后台需要用到Linux的相关命令. 我们先把其放到前台看下效果,之后再把 ...

  3. Apache Hive处理数据示例

    继上一篇文章介绍如何使用Pig处理HDFS上的数据,本文将介绍使用Apache Hive进行数据查询和处理. Apache Hive简介 首先Hive是一款数据仓库软件 使用HiveQL来结构化和查询 ...

  4. [Hive_5] Hive 的 JDBC 编程

    0. 说明 Hive 的 JDBC 编程 1. hiveserver2 介绍 hiveserver2 是 Hive 的 JDBC 接口,用户可以连接此端口来连接 Hive 服务器 JDBC 驱动类为 ...

  5. Hive的JDBC

    Hive 的JDBC 包含例子 https://cwiki.apache.org/confluence/display/Hive/HiveClient#HiveClient-JDBC HiveServ ...

  6. hive安装 jdbc链接hive

    1. 下载hive安装包 2. 进入 conf 中  :  cp hive-default.xml.template hive-site.xml,  vi hive-site.xml 1)首行添加: ...

  7. Spring JDBC 示例

    在使用普通的 JDBC 数据库时,就会很麻烦的写不必要的代码来处理异常,打开和关闭数据库连接等.但 Spring JDBC 框架负责所有的低层细节,从开始打开连接,准备和执行 SQL 语句,处理异常, ...

  8. hive的jdbc使用

    ①新建maven项目,加载依赖包  在pom.xml中添加 <dependency> <groupId>jdk.tools</groupId> <artifa ...

  9. SPARK_sql加载,hive以及jdbc使用

    sql加载 格式  或者下面这种直接json加载 或者下面这种spark的text加载 以及rdd的加载 上述记得配置文件加入.mastrt("local")或者spark://m ...

随机推荐

  1. Oracle的表连接方式

    Oracle的表连接方式: 1.Nl Join连接(嵌套连接) 2.Hash Join(哈希连接) 3.Merge Sort Join(排序合并连接) 各种连接的使用场景: 1. 排序合并连接是偏向于 ...

  2. OC字符串的常用方法

    网上写的关于字符串常用方法的博客很多,这里我简单做了下总结!不喜勿喷哦! 一.创建字符串 #import <Foundation/Foundation.h> //NSString //创建 ...

  3. read和onload jquery.val

    $(document).load(); 当web页面以及其附带的资源文件,如CSS,Scripts,图片等,加载完毕后执行此方法.常用于检测页面(及其附带资源)是否加载完毕. $(document). ...

  4. Idea facet

    idea错误:this inspection controls whether the persistence ql queries are error-checked 在project struct ...

  5. boost signal2 slot_base

    先看成员_tracked_objects,从字面上讲是被跟踪的对象,再看,相关函数 bool expired() const,这个函数是检查_tracked_objects是否已经expired.只不 ...

  6. Swift 断言

    assert(条件,"输出信息"); 如: let age=-1; assert(age>=0,"age要大于0");

  7. Python进阶之匿名函数(关键词lambda)

    匿名函数 .note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB"," ...

  8. 修改host文件的P处理

    notepad C:\WINDOWS\system32\drivers\etc\hosts 用文档创建hosts文件,添加上面代码.把文件后缀修改为 .bat 就不用每次很麻烦的查找host文件了.

  9. Makefile写法

    概述 -- 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makef ...

  10. Apache commons (Java常用工具包)简介

    Apache Commons是一个非常有用的工具包,解决各种实际的通用问题,下面是一个简述表,详细信息访问http://jakarta.apache.org/commons/index.html Be ...