hive jdbc连接
来源:互联网 发布:linux mkdir函数 编辑:程序博客网 时间:2024/05/01 09:47
参考官方文档:
https://cwiki.apache.org/confluence/display/Hive/HiveServer2+Clients#HiveServer2Clients-JDBC
启动hiveserver2
hive --service hiveserver2 --hiveconf hive.server2.thrift.port=10001 &
jdbc连接
import java.sql.SQLException;import java.sql.Connection;import java.sql.ResultSet;import java.sql.Statement;import java.sql.DriverManager;public class HiveJdbcClient { private static String driverName = "org.apache.hive.jdbc.HiveDriver"; /** * @param args * @throws SQLException */ public static void main(String[] args) throws SQLException { try { Class.forName(driverName); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); System.exit(1); } //replace "hive" here with the name of the user the queries should run as Connection con = DriverManager.getConnection("jdbc:hive2://ip:10001/default", "hadoop", ""); Statement stmt = con.createStatement(); String tableName = "testHiveDriverTable"; stmt.execute("drop table if exists " + tableName); stmt.execute("create table " + tableName + " (key int, value string)"); // show tables String sql = "show tables '" + tableName + "'"; System.out.println("Running: " + sql); ResultSet res = stmt.executeQuery(sql); if (res.next()) { System.out.println(res.getString(1)); } // describe table sql = "describe " + tableName; System.out.println("Running: " + sql); res = stmt.executeQuery(sql); while (res.next()) { System.out.println(res.getString(1) + "\t" + res.getString(2)); } // load data into table // NOTE: filepath has to be local to the hive server // NOTE: /tmp/a.txt is a ctrl-A separated file with two fields per line String filepath = "/tmp/a.txt"; sql = "load data local inpath '" + filepath + "' into table " + tableName; System.out.println("Running: " + sql); stmt.execute(sql); // select * query sql = "select * from " + tableName; System.out.println("Running: " + sql); res = stmt.executeQuery(sql); while (res.next()) { System.out.println(String.valueOf(res.getInt(1)) + "\t" + res.getString(2)); } // regular hive query sql = "select count(1) from " + tableName; System.out.println("Running: " + sql); res = stmt.executeQuery(sql); while (res.next()) { System.out.println(res.getString(1)); } }}
maven项目依赖
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-jdbc</artifactId> <version>1.2.2</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>2.6.0</version> </dependency> </dependencies>
a.txt文件
1 jack2 lucy3 tom4 smith
控制台打印
Running: show tables 'testHiveDriverTable'testhivedrivertableRunning: describe testHiveDriverTablekey intvalue stringRunning: load data local inpath '/tmp/a.txt' into table testHiveDriverTableRunning: select * from testHiveDriverTable1 jack2 lucy3 tom4 smithRunning: select count(1) from testHiveDriverTable4
0 0
- Hive的JDBC连接
- Hive使用JDBC连接
- hive jdbc 连接 注意事项
- Jdbc连接Hive
- 通过JDBC连接hive
- Hive JDBC 连接
- hive JDBC连接示例
- HIVE JDBC连接详解
- JDBC连接Hive
- hive jdbc连接
- java jdbc 连接hive
- Jdbc连接Hive数据库
- JDBC连接Hive
- Java HIVE 使用Jdbc连接Hive
- Hive的JDBC连接方法
- eclipse通过jdbc连接hive
- 如何用jdbc连接hive
- Java通过JDBC连接Hive
- JavaScript的执行上下文(与上下文不同,此点常被混淆)
- 人脸检测中误检漏检
- 四种控制事务的方法
- java中类的加载顺序
- 点击增加输入框,可删除,类似投票选项增加
- hive jdbc连接
- x265-2.4版本编译问题 error C2668: “pow”: 对重载函数的调用不明确
- 【Android】CameraUtil
- c++作业五
- android layout 属性大全
- 继承类与初始化
- mysql触发器
- 短暂性解决http网络请求安全的问题(iOS的坑)
- LeetCode Weekly Contest 31解题思路