Scala 如何使用doobie连接到蜂巢
hive有一个jdbc驱动程序,但似乎没有完全运行。我使用默认的doobie Transactior连接到它,就像Scala 如何使用doobie连接到蜂巢,scala,jdbc,hive,doobie,Scala,Jdbc,Hive,Doobie,hive有一个jdbc驱动程序,但似乎没有完全运行。我使用默认的doobie Transactior连接到它,就像 val xa = Transactor.fromDriverManager[IO]( "org.apache.hive.jdbc.HiveDriver", url, username, pass ) myQuery.transact(xa).unsafeRunSync 我收到一条错误信息 [错误]线程“main”java.sql.SQLFeatureNotSupported
val xa = Transactor.fromDriverManager[IO](
"org.apache.hive.jdbc.HiveDriver", url, username, pass
)
myQuery.transact(xa).unsafeRunSync
我收到一条错误信息
[错误]线程“main”java.sql.SQLFeatureNotSupportedException中出现异常:不支持方法
[错误]位于org.apache.hive.jdbc.HiveConnection.rollback(HiveConnection.java:1327)
[错误]位于doobie.free.kleislieinterpreter$ConnectionInterpreter$$anonfun$rollback$1.apply(kleislieinterpreter.scala:643)
[错误]位于doobie.free.kleislieinterpreter$ConnectionInterpreter$$anonfun$rollback$1.apply(kleislieinterpreter.scala:643)
[错误]位于doobie.free.kleislieinterpreter$$anonfun$primitive$1$$anonfun$apply$1.apply(kleislieinterpreter.scala:99)
如何使用Doobie连接到蜂巢 您需要通过新策略禁用事务处理程序中的“after”和“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