Mar*_*ski 7 java hadoop hive r jdbc
我试图HiveServer2
通过使用包连接到via JDBC
驱动程序.我已经看到了关于将各种参数传递给各种包装器的广泛解释(我可以将哪些参数传递给dbConnect?),但是出现这种情况比其他驱动程序有点琐碎.我可以在这个特定的URL地址下连接.把对应的代码的工作,使我写的语句从R
RJDBC
dbConnect
drivers
JDBCDriver
HiveServer2
url = paste0("jdbc:hive2://", host = 'tools-1.hadoop.srv', ":", port = 10000, "/loghost;auth=noSasl")
Hive
R
library(RJDBC)
dbConnect(drv = JDBC(driverClass = "org.apache.hive.jdbc.HiveDriver",
classPath = c("/opt/hive/lib/hive-jdbc-1.0.0-standalone.jar",
"/usr/share/hadoop/share/hadoop/common/lib/commons-configuration-1.6.jar",
"/usr/share/hadoop/share/hadoop/common/hadoop-common-2.4.1.jar"),
identifier.quote = "`"), # to juz niekoniecznie jest potrzebne
url = paste0("jdbc:hive2://", host = 'tools-1.hadoop.srv', ":", port = 10000, "/loghost;auth=noSasl"),
username = "mkosinski") -> conn
Run Code Online (Sandbox Code Playgroud)
我想知道是否有来传递参数,如数据库名称(的方式loghost
)或no_authentication_mode(auth=noSasl
到)...
在dbConnect
这样的,我只能指定标准的URL地址(url = paste0("jdbc:hive2://", host = 'tools-1.hadoop.srv', ":", port = 10000)
)和某种方式传递这样parametrs其余
library(RJDBC)
dbConnect(drv = JDBC(driverClass = "org.apache.hive.jdbc.HiveDriver",
classPath = c("/opt/hive/lib/hive-jdbc-1.0.0-standalone.jar",
"/usr/share/hadoop/share/hadoop/common/lib/commons-configuration-1.6.jar",
"/usr/share/hadoop/share/hadoop/common/hadoop-common-2.4.1.jar"),
identifier.quote = "`"), # to juz niekoniecznie jest potrzebne
url = paste0("jdbc:hive2://", host = 'tools-1.hadoop.srv', ":", port = 10000),
username = "mkosinski", dbname = "loghost", auth = "noSasl") -> conn
Run Code Online (Sandbox Code Playgroud)
但是第二种方法看起来并不起作用,尽管我尝试了其他参数的名称和值的各种组合.
有谁知道如何通过传递额外的参数给DBI ::数据库连接...
参数JDBCDriver
?
根据作者的回答:https://github.com/su/RJDBC/issues/31#issuecomment-173934951
简单地说,dbConnect 所做的就是收集您传递的所有内容(包括...)并将其全部收集到传递给驱动程序的 connect() 方法的属性字典 (java.util.Properties) 中。因此,您传递的任何命名参数都包含在内。所以唯一的特殊参数是直接传递的 url,其他所有内容都包含在属性中。如何解释它不在 RJDBC 的控制范围内 - 这完全取决于驱动程序。
归档时间: |
|
查看次数: |
1130 次 |
最近记录: |