jdbc를 통해 하이브에 연결할 수 없습니다.

alec.tu

내 프로그램을 실행하기 위해 gradle을 사용합니다. 샘플 코드는 https://github.com/onefoursix/Cloudera-Impala-JDBC-Example참조 합니다.

그리고 실패없이 저장소에서 예제를 실행할 수 있습니다.

// Apply the java plugin to add support for Java
apply plugin: 'java'
apply plugin: 'application'

mainClassName = "com.my.impala.fetcher.Fetcher"
// In this section you declare where to find the dependencies of your project
repositories {
    // Use 'jcenter' for resolving your dependencies.
    // You can declare any Maven/Ivy/file repository here.
    mavenCentral()
    maven {
        url "https://repository.cloudera.com/artifactory/cloudera-repos/"
    }
}

run {
     if (project.hasProperty("params")) {
         args params
         // args Eval.me(params)
     }
}

test {
        testLogging {
            events "passed", "skipped", "failed", "standardOut", "standardError"
    }
}


// In this section you declare the dependencies for your production and test code
dependencies {
    // The production code uses the SLF4J logging API at compile time
    compile 'org.slf4j:slf4j-api:1.7.7'
    compile 'org.apache.hadoop:hadoop-client:2.6.0-cdh5.4.4.1'
    compile 'org.json:json:20140107'
    compile 'org.apache.hive:hive-jdbc:1.1.0'
}

샘플 코드는 다음과 같습니다.

Connection con = null;
ResultSet rs = null;
try {
    Class.forName(JDBC_DRIVER_NAME);
    con = DriverManager.getConnection(CONNECTION_HOST);
    Statement stmt = con.createStatement();
    rs = stmt.executeQuery(sqlStatement);
} catch (SQLException e) {
    e.printStackTrace();
    System.exit(-1);
} catch (Exception e) {
    e.printStackTrace();
    System.exit(-1);
} finally {
    try {
        con.close();
    } catch (Exception e) {
        e.printStackTrace();
        System.exit(-1);
    }
}

rs.next();

경우 rs.next다음과 같은 예외가 발생합니다

org.apache.thrift.transport.TTransportException: Cannot write to null outputStream
    at org.apache.thrift.transport.TIOStreamTransport.write(TIOStreamTransport.java:142)
    at org.apache.thrift.protocol.TBinaryProtocol.writeI32(TBinaryProtocol.java:178)
    at org.apache.thrift.protocol.TBinaryProtocol.writeMessageBegin(TBinaryProtocol.java:106)
    at org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:62)
    at org.apache.hive.service.cli.thrift.TCLIService$Client.send_FetchResults(TCLIService.java:495)
    at org.apache.hive.service.cli.thrift.TCLIService$Client.FetchResults(TCLIService.java:487)
    at org.apache.hive.jdbc.HiveQueryResultSet.next(HiveQueryResultSet.java:360)
    at com.my.impala.fetcher.Fetcher.main(Fetcher.java:54)
Exception in thread "main" java.sql.SQLException: Error retrieving next row
    at org.apache.hive.jdbc.HiveQueryResultSet.next(HiveQueryResultSet.java:388)
    at com.my.impala.fetcher.Fetcher.main(Fetcher.java:54)
Caused by: org.apache.thrift.transport.TTransportException: Cannot write to null outputStream
    at org.apache.thrift.transport.TIOStreamTransport.write(TIOStreamTransport.java:142)
    at org.apache.thrift.protocol.TBinaryProtocol.writeI32(TBinaryProtocol.java:178)
    at org.apache.thrift.protocol.TBinaryProtocol.writeMessageBegin(TBinaryProtocol.java:106)
    at org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:62)
    at org.apache.hive.service.cli.thrift.TCLIService$Client.send_FetchResults(TCLIService.java:495)
    at org.apache.hive.service.cli.thrift.TCLIService$Client.FetchResults(TCLIService.java:487)
    at org.apache.hive.jdbc.HiveQueryResultSet.next(HiveQueryResultSet.java:360)
    ... 1 more

내가 놓친 부분이 확실하지 않습니다.

감사합니다.

Meskobalazs

이미 연결을 끊었지만 결과를 읽을 수 없습니다. 다음 과 같이 try 블록의 끝에서 줄 rs.next()뒤에 있어야합니다 executeQuery().

rs = stmt.executeQuery(sqlStatement);
while (rs.next()) {
    // handle the record
}

(가) ResultSet데이터베이스입니다 커서 는 전체 데이터 집합을 포함하지 않습니다, 당신은 그것을 통해 DB에있는 데이터에 액세스 할 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

웹앱에서 JDBC를 통해 HIVE에 연결할 수 없습니다.

분류에서Dev

ODBC를 통해 SQL Server에 연결할 수 없습니다.

분류에서Dev

ssh를 통해 GitLab에 연결할 수 없습니다.

분류에서Dev

Infiniband를 통해 서버에 연결할 수 없습니다.

분류에서Dev

SSH를 통해 Raspberry Pi에 연결할 수 없습니다.

분류에서Dev

Watir를 통해 Tor-Firefox에 연결할 수 없습니다.

분류에서Dev

ssh를 통해 Snappy Ubuntu Core에 연결할 수 없습니다.

분류에서Dev

ssh를 통해 github에 연결할 수 없습니다.

분류에서Dev

WIndows 10에서 SSH를 통해 연결할 수 없습니다.

분류에서Dev

SQLApi ++를 통해 MemSQL에 연결할 수 없습니다.

분류에서Dev

ssh를 통해 mysql에 연결할 수 없습니다.

분류에서Dev

웹 브라우저를 통해 Odoo 서버에 연결할 수 없습니다.

분류에서Dev

JDBC를 통해 SQL Server에 연결할 수 없습니다. jdbc : sqlserver : //에 적합한 드라이버가 없습니다.

분류에서Dev

JDBC를 통해 가상 머신의 Oracle LDAP 서버 (OID)에 연결할 수 없습니다.

분류에서Dev

SSH를 통해 데이터베이스에 연결할 수 없습니다.

분류에서Dev

WiFi를 통해 인터넷에 연결할 수 없지만 케이블로 연결할 수 있습니다.

분류에서Dev

http를 통해 함수 앱에서 Azure VM에 연결할 수 없습니다.

분류에서Dev

ssh를 통해 다른 시스템에 연결할 수 없습니다.

분류에서Dev

Linux에서 Cmake를 통해 opencv 라이브러리를 연결할 수 없습니다.

분류에서Dev

'localhost'(10061)의 MySQL 서버에 연결할 수 없지만 PHP를 통해 연결할 수 있습니다.

분류에서Dev

Docker에서 ssh를 통해 Corda 노드에 연결할 수 없습니다.

분류에서Dev

jenkins에서 ssh를 통해 bitbucket에 연결할 수 없습니다.

분류에서Dev

Homebrew를 통해 설치된 MySQL @ 127.0.0.1에 연결할 수 없습니다.

분류에서Dev

Traefik 2.2는 TCP를 통해 Docker Swarm API에 연결할 수 없습니다.

분류에서Dev

ODBC를 통해 Microsoft SQL Server (VM)에 연결할 수 없습니다.

분류에서Dev

외부 네트워크를 통해 Apache에 연결할 수 없습니다.

분류에서Dev

Java를 통해 Oracle 11g에 연결할 수 없습니다.

분류에서Dev

Java 클래스를 통해 MS SQL 서버에 연결할 수 없습니다.

분류에서Dev

uwsgi를 통해 Flask 모듈을 nginx에 연결할 수 없습니다.

Related 관련 기사

  1. 1

    웹앱에서 JDBC를 통해 HIVE에 연결할 수 없습니다.

  2. 2

    ODBC를 통해 SQL Server에 연결할 수 없습니다.

  3. 3

    ssh를 통해 GitLab에 연결할 수 없습니다.

  4. 4

    Infiniband를 통해 서버에 연결할 수 없습니다.

  5. 5

    SSH를 통해 Raspberry Pi에 연결할 수 없습니다.

  6. 6

    Watir를 통해 Tor-Firefox에 연결할 수 없습니다.

  7. 7

    ssh를 통해 Snappy Ubuntu Core에 연결할 수 없습니다.

  8. 8

    ssh를 통해 github에 연결할 수 없습니다.

  9. 9

    WIndows 10에서 SSH를 통해 연결할 수 없습니다.

  10. 10

    SQLApi ++를 통해 MemSQL에 연결할 수 없습니다.

  11. 11

    ssh를 통해 mysql에 연결할 수 없습니다.

  12. 12

    웹 브라우저를 통해 Odoo 서버에 연결할 수 없습니다.

  13. 13

    JDBC를 통해 SQL Server에 연결할 수 없습니다. jdbc : sqlserver : //에 적합한 드라이버가 없습니다.

  14. 14

    JDBC를 통해 가상 머신의 Oracle LDAP 서버 (OID)에 연결할 수 없습니다.

  15. 15

    SSH를 통해 데이터베이스에 연결할 수 없습니다.

  16. 16

    WiFi를 통해 인터넷에 연결할 수 없지만 케이블로 연결할 수 있습니다.

  17. 17

    http를 통해 함수 앱에서 Azure VM에 연결할 수 없습니다.

  18. 18

    ssh를 통해 다른 시스템에 연결할 수 없습니다.

  19. 19

    Linux에서 Cmake를 통해 opencv 라이브러리를 연결할 수 없습니다.

  20. 20

    'localhost'(10061)의 MySQL 서버에 연결할 수 없지만 PHP를 통해 연결할 수 있습니다.

  21. 21

    Docker에서 ssh를 통해 Corda 노드에 연결할 수 없습니다.

  22. 22

    jenkins에서 ssh를 통해 bitbucket에 연결할 수 없습니다.

  23. 23

    Homebrew를 통해 설치된 MySQL @ 127.0.0.1에 연결할 수 없습니다.

  24. 24

    Traefik 2.2는 TCP를 통해 Docker Swarm API에 연결할 수 없습니다.

  25. 25

    ODBC를 통해 Microsoft SQL Server (VM)에 연결할 수 없습니다.

  26. 26

    외부 네트워크를 통해 Apache에 연결할 수 없습니다.

  27. 27

    Java를 통해 Oracle 11g에 연결할 수 없습니다.

  28. 28

    Java 클래스를 통해 MS SQL 서버에 연결할 수 없습니다.

  29. 29

    uwsgi를 통해 Flask 모듈을 nginx에 연결할 수 없습니다.

뜨겁다태그

보관