Как подключиться к Hive с помощью doobie - PullRequest
0 голосов
/ 12 октября 2018

Существует драйвер jdbc для улья, но он не полностью работает.Я использовал Doobie Transactor по умолчанию для подключения к нему, как

val xa = Transactor.fromDriverManager[IO](
  "org.apache.hive.jdbc.HiveDriver", url, username, pass
)

myQuery.transact(xa).unsafeRunSync

И я получил сообщение об ошибке, что

[error] Исключение в потоке "main" 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 $ примитив $ 1 $$ anonfun $ apply $.apply (kleisliinterpreter.scala: 99)

Как мне подключиться к Hive с помощью Doobie?

1 Ответ

0 голосов
/ 12 октября 2018

Вам нужно отключить «после» и «упс» в Transactor с помощью новой стратегии.Вот как

    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
...