Hive(4)--자바 에서 thrift 인터페이스 조작 Hive 알림

3195 단어 빅 데이터
1.소개 본 고 는 자바 에서 thrift 작업 hiv 를 알 리 는 것 을 소개 합 니 다.2.hive 시작 thrift 인터페이스 1,hadop 설정 변경 hadop 설정 파일 core-site.xml,다음 설정 추가:

    hadoop.proxyuser.china.hosts
    *



    hadoop.proxyuser.china.groups
    *

2.hive 설정 수정 hive 설정 파일 hive-site.xml

    hive.server2.thrift.bind.host
    10.131.24.179
    Bind host on which to run the HiveServer2 Thrift service.


    hive.server2.thrift.port
    10000
    Port number of HiveServer2 Thrift interface when hive.server2.transport.mode is 'binary'.


    hive.server2.thrift.client.user
    china
    Username to use against thrift client


    hive.server2.thrift.client.password
    123456
    Password to use against thrift client

3.hadop 시작:  sbin/start-dfs.sh&sbin/start-yarm.sh 는 hive 의 thrift 인 터 페 이 스 를 시작 합 니 다.두 가지 방식 이 있 습 니 다.a,bin/hive--service hiveserver 2 b,bin/hiveserver 24,hive 의 bin/beeline 이 hive 의 thrift 클 라 이언 트 방문 도구 임 을 검증 하고 클 라 이언 트 에 들 어 갑 니 다.bin/beeline 생 성 연결: !connect jdbc:hive 2://192.168.0.1:10000 china 1234565,hive thrift 인 터 페 이 스 를 연결 할 때 자주 보고 합 니 다 User:china is not allowed to impressonate root 오 류 는 이 때 hadop 의 core-site.xml 파일 과 hive 의 hive-site.xml 파일 을 앞에서 설정 하지 않 았 기 때 문 입 니 다.여기 서 잘못된 china 이름 은 앞에서 설정 한 china 이름 이 어야 합 니 다.구체 적 으로 각 설정 에 따라 값 을 작성 해 야 합 니 다.3.자바 작업 hive 1,maven 의존 추가

    org.apache.hive
    hive-jdbc
    2.3.2


    org.apache.hive
    hive-common
    2.3.2


    org.apache.hive
    hive-exec
    2.3.2


    org.apache.hive
    hive-metastore
    2.3.2


    org.apache.hive
    hive-service
    2.3.2

2.예시
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class HiveStudyMain {
    public static void main(String[] args) throws Exception {
        //    ,    
        Class.forName("org.apache.hive.jdbc.HiveDriver");
        Connection conn = DriverManager.getConnection("jdbc:hive2://192.168.0.1:10000/school", "china", "123456");
        Statement st = conn.createStatement();

        //  
        String sql = "select * from stu";
        ResultSet rs = st.executeQuery(sql);
        while (rs.next()) {
            System.out.println(rs.getString("id"));
        }
    }
}

좋은 웹페이지 즐겨찾기