私は(org.apache.hive.jdbc.HiveDriver
)とC3P0
(com.mchange.v2.c3p0.ComboPooledDataSource
)を使用しようとしています。私はこれの例外だ:なぜHiveConnectionはgetHoldability()をサポートしていませんか? HiveDriverでC3P0を使用する
java.sql.SQLException: Method not supported
at org.apache.hive.jdbc.HiveConnection.getHoldability(HiveConnection.java:924)
at com.mchange.v2.c3p0.impl.NewPooledConnection.<init>(NewPooledConnection.java:106)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:159)
を私はHiveConnection
のソースコード(here)
/*
* (non-Javadoc)
*
* @see java.sql.Connection#getHoldability()
*/
@Override
public int getHoldability() throws SQLException {
// TODO Auto-generated method stub
throw new SQLFeatureNotSupportedException("Method not supported");
}
マイ質問が見つかりました:なぜHiveConnection
は SQLFeatureNotSupportedException
をスローすることを選択したのでしょうか?これらのうちの1つを返す代わりに?
ResultSet.HOLD_CURSORS_OVER_COMMIT
ResultSet.CLOSE_CURSORS_AT_COMMIT
これはバグですか?一般的に
、それは(私が実際にSpark SQL
を使用しています)Hive
で などC3P0
などの接続プールを使用することは可能でしょうか?
アップデート1(2017年11月15日)
私はちょうど(org.apache.commons.dbcp2.BasicDataSource
)dbcp2
を試してみました、それが働きました。私は何とかdbcp2
がConnection#getHoldability()
メソッドを呼び出さないと思います。
でこのバグの影響を受けていないいくつかの理由() 'を返します。しかし、なぜ推測を求めているのか、私たちに尋ねる。 Hiveドライバの作成者にバグを報告する必要があります。 –
よろしくお願いいたします。私はApacheにバグレポートHIVE-18082を提出しました:https://issues.apache.org/jira/browse/HIVE-18082 – leeyuiwah