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