1
経由Hive2への接続に関する問題:R:ここに私がやったことだRJDBC
ステップ1は、ClouderaのからのJDBCドライバの最新のセットを得ました。
ステップ2、Rコード:
require(RJDBC)
drv <- JDBC(driverClass = "com.cloudera.hive.jdbc41.HS2Driver",
classPath = "C:/Rtools/JDBC_Hive/HiveJDBC41.jar")
# Stored Jars with RTools
for(l in list.files("C:/Rtools/JDBC_Hive", "jar$")){
.jaddClassPath(paste0("C:/Rtools/JDBC_Hive/",l))
}
con <- dbConnect(drv, "jdbc:hive2://host:port/default;AuthMech=3;UID=login;PWD=password")
# Obviously host, port, log, pass has been substituted
戻り値:
Error in .jcall([email protected], "Ljava/sql/Connection;", "connect", as.character(url)[1], :
java.sql.SQLException: [Cloudera][HiveJDBCDriver](500151) Error setting/closing session: Open Session Error.
同様のエラーのためにウェブを中心に探しは明白な理由/ソリューションが得られませんでした。
また、DBeaverのような特殊なツールを使用してdbに接続することにも全く問題はないことは言うまでもありません。
考えられる問題:Cloudera JDBCドライバのセットでは、すぐに使用できません。たぶん追加の設定が必要なのでしょうか?最初の実行で
は、500151例外と共に、もある。
log4j:WARN No appenders could be found for logger (org.apache.thrift.transport.TSaslTransport).
log4j:WARN Please initialize the log4j system properly.
エラーが接続する後続の試行を通して持続しません。
更新:
どうやら接続/認証がうまく動作しますが、何とかドライバも自動的にさまざまなSQLコマンドを理解する能力のためにハイブをテストすることになっている「-v設定」奇妙なコマンドを渡します。これは例外を伴ってプロセスが終了する場所です。