pom.xml依赖

<dependency>
   <groupId>com.cloudera</groupId>
   <artifactId>ImpalaJDBC41</artifactId>
   <version>2.5.42</version>
</dependency>

<dependency>
   <groupId>org.apache.hive</groupId>
   <artifactId>hive-jdbc</artifactId>
   <version>1.2.1</version>
</dependency>

<dependency>
   <groupId>org.apache.hive</groupId>
   <artifactId>hive-cli</artifactId>
   <version>1.2.1</version>
</dependency>


<dependency>
   <groupId>org.apache.hive</groupId>
   <artifactId>hive-metastore</artifactId>
   <version>1.2.1</version>
</dependency>

<dependency>
   <groupId>org.apache.hive</groupId>
   <artifactId>hive-common</artifactId>
   <version>1.2.1</version>
</dependency>

<dependency>
   <groupId>org.apache.hadoop</groupId>
   <artifactId>hadoop-common</artifactId>
   <version>2.3.0</version>
</dependency>

<dependency>
   <groupId>org.apache.thrift</groupId>
   <artifactId>libfb303</artifactId>
   <version>0.9.0</version>
</dependency>

<dependency>
   <groupId>org.apache.thrift</groupId>
   <artifactId>libthrift</artifactId>
   <version>0.9.0</version>
</dependency>

<dependency>
   <groupId>commons-logging</groupId>
   <artifactId>commons-logging</artifactId>
   <version>1.1.3</version>
</dependency>

注:pom 文件依赖应该还需要zookeeper但是我在其他pom文件中引用了,所以就没有体现。

代码:

import java.sql.{Connection, PreparedStatement, ResultSet}


object ImpalaConnectionJDBC{

  def getConnection()={
    var conn: Connection = null
    var ps: PreparedStatement  = null
    var rs: ResultSet  = null

    val JDBC_DRIVER: String = "com.cloudera.impala.jdbc41.Driver"
    val CONNECTION_URL: String = "jdbc:impala://x.x.x.x:21050"

    import java.sql.{DriverManager, SQLException}
    try {
      Class.forName(JDBC_DRIVER)
      conn = DriverManager.getConnection(CONNECTION_URL)
      ps = conn.prepareStatement("select * from cl")
      rs = ps.executeQuery
      while ( {
        rs.next
      }) System.out.println(rs.getString(1))
    } catch {
      case e: Exception =>
        e.printStackTrace()
    } finally try {
      if (rs != null){

        rs.close()
      }
      if (ps != null){

        ps.close()
      }
      if (conn != null){

        conn.close()
      }
    } catch {
      case e: SQLException =>
        e.printStackTrace()
    }
  }

  def main(args: Array[String]): Unit = {

    getConnection()

  }

}

 

Logo

大数据从业者之家,一起探索大数据的无限可能!

更多推荐