Java API 조작 Hive

6990 단어 Hive
홈 페이지 주소https://cwiki.apache.org/confluence/display/Hive/HiveServer2+Clients#HiveServer2Clients-JDBC
1.hiveserver 2 를 시작 하기 전에 자바 API 로 hive 를 조작 하기 전에 hiveserver 2 를 시작 해 야 합 니 다.(서비스 가 시작 되 지 않 았 는데 클 라 이언 트 가 어떻게 접근 할 수 있 습 니까?)
시작 명령
[root@hadoop001 bin]# hiveserver2 &
[1] 7495
[root@hadoop001 bin]# which: no hbase in (/bin:/opt/app/sqoop-1.4.6-cdh5.7.0/bin:/opt/app/hive-1.1.0-cdh5.7.0/bin:/bin:/opt/app/2.6.0-cdh5.7.0/bin:/opt/app/2.6.0-cdh5.7.0/sbin:/bin:/opt/software/findbugs-1.3.9/bin:/usr/local/protobuf/bin:/opt/software/maven-3.3.9/bin:/usr/java/jdk1.8/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin)

클 라 이언 트 가 hive 를 조작 한 결 과 는 이 인터페이스 에서 인쇄 됩 니 다.(작업 이 성공 하면 ok 을 표시 하고 실패 하면 실패 하 는 정보 가 있 습 니 다)
2.IDEA Java API 구축
package com.ruozedata.hive;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class HiveJDBC {
    public static  String driveName="org.apache.hive.jdbc.HiveDriver";
    public static  String url="jdbc:hive2://192.168.187.111:10000/default";
    public static  String username="root";
    public static  String password="";

    public static void main(String[] args) throws Exception {
        Class.forName(driveName);
        Connection con=DriverManager.getConnection(url,username,password);
         Statement stms=con.createStatement();
        String tableName = "testHiveDriverTable";
        stms.execute("drop table if exists " + tableName);
        stms.execute("create table " + tableName + " (key int, value string)");
        // show tables
        String sql = "show tables '" + tableName + "'";
        System.out.println("Running: " + sql);
        ResultSet res = stms.executeQuery(sql);
        if (res.next()) {
            System.out.println(res.getString(1));
        }

    }
}

이상 API 는 Hive 에서 testHive DriverTable 표를 만 들 었 습 니 다.표 삭제 와 같은 것 은 홈 페이지 를 참고 하 시기 바 랍 니 다.
3.검증 을 통 해 testhivedrivertable 표 가 만 들 어 졌 음 을 볼 수 있 습 니 다.
hive (default)> show tables;
OK
tab_name
emp
emp_external
testhivedrivertable
Time taken: 0.989 seconds, Fetched: 3 row(s)

server 쪽 에서 마지막 작업 결 과 를 보 여 줍 니 다(OK)
[root@hadoop001 bin]# hiveserver2 &
[1] 7495
[root@hadoop001 bin]# which: no hbase in (/bin:/opt/app/sqoop-1.4.6-cdh5.7.0/bin:/opt/app/hive-1.1.0-cdh5.7.0/bin:/bin:/opt/app/2.6.0-cdh5.7.0/bin:/opt/app/2.6.0-cdh5.7.0/sbin:/bin:/opt/software/findbugs-1.3.9/bin:/usr/local/protobuf/bin:/opt/software/maven-3.3.9/bin:/usr/java/jdk1.8/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin)
OK
OK
OK

좋은 웹페이지 즐겨찾기