scala JDBC 方式连接 impala 代码以及pom.xml文件中的依赖

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

  }

}

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值