我尝试以编程方式使用apachedrill的jdbc驱动程序。
代码如下:
import java.sql.DriverManager
object SearchHbaseWithHbase {
def main(args: Array[String]): Unit = {
Class.forName("org.apache.drill.jdbc.Driver")
val zkIp = "192.168.3.2:2181"
val connection = DriverManager.getConnection(s"jdbc:drill:zk=${zkIp};schema:hbase")
connection.setSchema("hbase")
println(connection.getSchema)
val st = connection.createStatement()
val rs = st.executeQuery("SELECT * FROM Label")
while (rs.next()){
println(rs.getString(1))
}
}
}
我已将数据库模式设置为类型:hbase,如:
connection.setSchema("hbase")
但它失败了,错误代码是:
线程“main”java.sql.sqlexception中出现异常:验证错误:从第1行第15列到第1行第19列:表“label”未找到sql查询null
label表在我的hbase中正好存在。我可以在使用sqline时找到我的数据,例如:
sqline -u jdbc:drill:zk....
use hbase;
input :select * from Label;
1条答案
按热度按时间pxq42qpu1#
我已经解决了这个问题。我混淆了演练的模式和jdbc驱动程序模式。。。。。。正确的代码应如下所示: