如何使用clojure

时间:2015-10-23 11:53:33

标签: jdbc clojure hive database-partitioning

我想使用Clojure的JDBC接口来更新Hive数据库。特别是,我想添加分区。代码如下:

(jdbc/db-do-commands hive-db ["ALTER TABLE foo ADD PARTITION (year=2015, month=10, day=1, hour=1) LOCATION '/bar'"])

然而,我收到一个错误:

java.sql.SQLException: enabling autocommit is not supported
 at org.apache.hive.jdbc.HiveConnection.setAutoCommit (HiveConnection.java:1071)
    clojure.java.jdbc$db_transaction_STAR_.doInvoke (jdbc.clj:605)
    clojure.lang.RestFn.invoke (RestFn.java:425)
    ...

我知道,在Hive的JDBC驱动程序中启用自动提交目前已several未解析issues。因此,我想禁用自动提交。如何在clojure.java.jdbc中完成?

1 个答案:

答案 0 :(得分:2)

也许以下内容会有所帮助:

(let [con (db-find-connection db)]
   (.setAutoCommit con false))

祝你好运。