在spark作业中调用JDBC到impala/hive并创建表

use*_*851 3 scala jdbc impala apache-spark

我试图在scala中编写一个spark作业,它将打开与Impala的jdbc连接,让我创建一个表并执行其他操作.

我该怎么做呢?任何一个例子都会有很大的帮助.谢谢!

小智 14

val JDBCDriver = "com.cloudera.impala.jdbc41.Driver"
val ConnectionURL = "jdbc:impala://url.server.net:21050/default;auth=noSasl"

Class.forName(JDBCDriver).newInstance
val con = DriverManager.getConnection(ConnectionURL)
val stmt = con.createStatement()
val rs = stmt.executeQuery(query)

val resultSetList = Iterator.continually((rs.next(), rs)).takeWhile(_._1).map(r => {
    getRowFromResultSet(r._2) // (ResultSet) => (spark.sql.Row)
}).toList

sc.parallelize(resultSetList)
Run Code Online (Sandbox Code Playgroud)

  • 真棒感谢伟大的例子!你有关于这在 Python 中的外观的任何信息吗? (4认同)