HQL脚本三种执行方式
1> hive -e 'hql'
2> hive -f 'hql.file'
3> hive jdbc代码执行脚本
Hive jdbc代码执行脚本
1、导入hive安装文件lib目录下的所有jar包
2、启动hive server
[root@node1 hive-1.2.1]# ./bin/hive --service hiveserver2
[root@node1 hive-1.2.1]# netstat -nptl | grep 10000
tcp 0 0 0.0.0.0:10000 0.0.0.0:* LISTEN 31374/java
3、远程连接hive,在node1主机进入/opt/modules/hive-1.2.1目录,输入./bin/beeline
[root@node1 ~]# cd /opt/modules/hive-1.2.1
[root@node1 hive-1.2.1]# ./bin/beeline
beeline> !connect jdbc:hive2://192.168.230.10:10000 scott root org.apache.hive.jdbc.HiveDriver
3.1、查看hive中的表
0: jdbc:hive2://192.168.230.10:10000> show tables;
3.2、查询emp表
0: jdbc:hive2://192.168.230.10:10000> select * from emp;
4、在Eclipse上使用JDBC连接hive
TestHive.java
package com.matrix.hive;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class TestHive {
public static void main(String[] args) {
Statement stat = null;
ResultSet rs = null;
try {
Class.forName("org.apache.hive.jdbc.HiveDriver");
Connection conn = DriverManager.getConnection("jdbc:hive2://node1:10000/default", "hive", "");
stat = conn.createStatement();
String sql = "select * from emp";
rs = stat.executeQuery(sql);
while (rs.next()) {
System.out.println(rs.getObject(1));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}