蜂巢有一个jdbc驱动程序,但似乎无法正常运行。我使用默认的doobie Transactor进行连接,就像
val xa = Transactor.fromDriverManager[IO](
"org.apache.hive.jdbc.HiveDriver", url, username, pass
)
myQuery.transact(xa).unsafeRunSync
我收到一条错误消息
[错误]线程“主”中的异常java.sql.SQLFeatureNotSupportedException:不支持方法
org.apache.hive.jdbc.HiveConnection.rollback(HiveConnection.java:1327)出现[错误]
doobie.free.KleisliInterpreter $ ConnectionInterpreter $$ anonfun $ rollback $ 1.apply中出现[错误](kleisliinterpreter.scala:643)
doobie.free.KleisliInterpreter $ ConnectionInterpreter $$ anonfun $ rollback $ 1.apply中出现[错误](kleisliinterpreter.scala:643)
doobie.free.KleisliInterpreter $$ anonfun $ primitive $ 1 $ anonfun $ apply $ 1.apply中的[错误](kleisliinterpreter.scala:99)
如何使用Doobie连接到Hive?
最佳答案
您需要通过新策略禁用Transactor中的“之后”和“ oops”。
这是怎么
import doobie.free.connection.unit
import doobie.util.transactor.Strategy
val hiveStrategy = Strategy.default.copy(
after = unit, oops = unit)
val xa = Transactor.strategy.set(
Transactor.fromDriverManager[IO](
"org.apache.hive.jdbc.HiveDriver", url, username, pass),
hiveStrategy)
myQuery.transact(xa).unsafeRunSync