odbc配置单元连接导致rstudio崩溃//连接窗格问题?

mkshixfv  于 2021-06-24  发布在  Hive
关注(0)|答案(1)|浏览(347)

我使用rstudioserver1.1.453/rversion3.5.2,当我试图通过odbc启动配置单元连接时,rstudio崩溃了。
我运行的代码:

library(odbc)
library("DBI")

con <- DBI::dbConnect(odbc(), Driver = "/opt/cloudera/hiveodbc/lib/64/libclouderahiveodbc64.so", 
                 Host = "myserver", 
                 port = 10000, 
                 Schema = "default",
                 UseSASL = 0,
                 AuthMech=3,
                 UID="myuser",
                 password="mypassword",
                 TrustedCerts="/home/centos/truststore.pem",
                 AllowSelfSignedServerCert=1,
                 SSL=1)  

dbGetQuery(con, "show databases")

崩溃消息(很普通,不是吗…)在这里输入图像描述
最糟糕的是,如果我通过启用另一个r会话直接在终端中运行相同的查询,或者如果我在reprex函数中运行相同的代码,那么我可以在建立连接之后立即查询hive表。
所以我的问题是:
作为一个直观的解决方案,我想测试与rstudio连接窗格没有交互。有没有一种方法可以启动这样的连接,而不必在连接窗格中进行任何交互或产生任何结果?
有没有其他解决方案我可以测试?
运行代码时,如何记录rstudio尝试执行的操作?谢谢
注意:在implyr包的帮助下建立impala连接没有任何问题

ki0zmccv

ki0zmccv1#

我在callr包中找到了一个解决方法,考虑到我只在带有rstudio(create table)的配置单元中运行基本查询,这个方法还不错。

callr:r(function(){
library(odbc)
con <- dbConnect(odbc::odbc(), Driver = '/opt/cloudera/hiveodbc/lib/64/libclouderahiveodbc64.so', 
                              Host = 'server', 
                              Port = 10000, 
                              Schema = 'default',
                              AuthMech=3,
                              UID='',
                              PWD='',
                              TrustedCerts='/home/centos/truststore.pem',
                              AllowSelfSignedServerCert=1,
                              SSL=1)

  dbGetQuery(con, 'SHOW DATABASES')} )

相关问题