HQL执行的三种方式

HQL脚本三种执行方式

1> hive -e 'hql'

2> hive -f 'hql.file'

3> hive jdbc代码执行脚本

Hive jdbc代码执行脚本

1、导入hive安装文件lib目录下的所有jar包

HQL执行的三种方式_第1张图片

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;

HQL执行的三种方式_第2张图片

3.2、查询emp表

0: jdbc:hive2://192.168.230.10:10000> select * from emp;

4、在Eclipse上使用JDBC连接hive

HQL执行的三种方式_第3张图片

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();
        }

    }
}

HQL执行的三种方式_第4张图片

你可能感兴趣的:(HQL,hive)