Hive和Jdbc示例
userinfo.txt文件内容(每行数据之间用tab键隔开):
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);
}
}
}
Hive和Jdbc示例的更多相关文章
- Hive:JDBC示例
1)本地目录/home/hadoop/test下的test4.txt文件内容(每行数据之间用tab键隔开)如下所示: [hadoop@master test]$ sudo vim test4.txt ...
- Hive的JDBC使用&并把JDBC放置后台运行
使用JDBC访问HIVE: 首先启动hive的JDBC服务. 进入hive的bin目录: 这样启动是启动到前台.如果 要想启动到后台需要用到Linux的相关命令. 我们先把其放到前台看下效果,之后再把 ...
- Apache Hive处理数据示例
继上一篇文章介绍如何使用Pig处理HDFS上的数据,本文将介绍使用Apache Hive进行数据查询和处理. Apache Hive简介 首先Hive是一款数据仓库软件 使用HiveQL来结构化和查询 ...
- [Hive_5] Hive 的 JDBC 编程
0. 说明 Hive 的 JDBC 编程 1. hiveserver2 介绍 hiveserver2 是 Hive 的 JDBC 接口,用户可以连接此端口来连接 Hive 服务器 JDBC 驱动类为 ...
- Hive的JDBC
Hive 的JDBC 包含例子 https://cwiki.apache.org/confluence/display/Hive/HiveClient#HiveClient-JDBC HiveServ ...
- hive安装 jdbc链接hive
1. 下载hive安装包 2. 进入 conf 中 : cp hive-default.xml.template hive-site.xml, vi hive-site.xml 1)首行添加: ...
- Spring JDBC 示例
在使用普通的 JDBC 数据库时,就会很麻烦的写不必要的代码来处理异常,打开和关闭数据库连接等.但 Spring JDBC 框架负责所有的低层细节,从开始打开连接,准备和执行 SQL 语句,处理异常, ...
- hive的jdbc使用
①新建maven项目,加载依赖包 在pom.xml中添加 <dependency> <groupId>jdk.tools</groupId> <artifa ...
- SPARK_sql加载,hive以及jdbc使用
sql加载 格式 或者下面这种直接json加载 或者下面这种spark的text加载 以及rdd的加载 上述记得配置文件加入.mastrt("local")或者spark://m ...
随机推荐
- 我的RTOS 之六 -- Touch移植(s5pv210+threadx+ucgui+touch)
非常久没有关注RTOS了,所以也一直没有更新.近期闲了,把GPIO I2C调通了.简单移植了Touch.在S5PV210上使用. 调试I2C时.废了非常多周折,最后借助示波器才发现一个小小的错误.折腾 ...
- 场景:A-->B-->C 跳转到C时,要关掉B的处理方法
场景:A-->B-->C 跳转到C时,要关掉B的处理方法:相当于从A跳转到C UIViewController *preController = [self.navigationContr ...
- C++ Builder平台使用Indy9开发自动FTP程序01
Indy9与CB自带的Indy8不同处还是挺多的.首先就是图标变漂亮了,其次很多Method都重写了.它主要是依据Delph里的函数,力求与之相通.不同点在本系列的后续章节中会一一介绍. 在写ftp代 ...
- Linux学习之系统时间同步
一.系统时间的设置 在Linux中设置系统时间,可以用date命令: //查看时间 [root@localhost ~]# date 2008年 12月 12日 星期五 :: CST //修改时间 [ ...
- Log4Net_LayOut
对Log4Net做了些基本记录 其中Layout常用参数的解释,我已实例为准. 测试程序源码如下: static void Main(string[] args) { log4net.Config.X ...
- Android Studio git ignore
# Built application files *.apk *.ap_ # Files for the Dalvik VM *.dex # Java class files *.class # G ...
- Oracle EBS-SQL (BOM-1):检查供应类型错误.sql
--检查供应类型错误 SELECT MSI.SEGMENT1 物料编码, MSI.DESCRIPTION 物料描述, DECODE(MSI.WIP ...
- VC2008如何生成及使用DLL(完整版)
生成.使用DLL看起来简单,但做起来才发现还是有一些地方需要注意的. 1. 打开VS2008,新建一个VC工程,选择Win32类型,Win32项目: 2. 应用程序类型选择DLL,附加选项选择到处符号 ...
- oracle中文支持
- Ignatius and the Princess III(母函数)
Ignatius and the Princess III Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K ...