在没有 Impala JDBC 驱动程序的情况下从 R 连接到 Impala

Posted

技术标签:

【中文标题】在没有 Impala JDBC 驱动程序的情况下从 R 连接到 Impala【英文标题】:Connecting to Impala from R without Impala JDBC driver 【发布时间】:2019-08-17 09:10:23 【问题描述】:

由于未公开的原因,我的 Impala 没有安装 JDBC 驱动程序。这使得connection from R to Impala 具有挑战性。

我可以通过 Putty 连接(和查询)Impala shell。例如,

impala-shell --ssl -i some_name

使用 Putty 连接机制/凭据,这可以从 RStudio 执行并将SELECT 结果引入数据帧吗?

【问题讨论】:

也许,如果结果不是太大,您可以使用impala-shell --ssl -i some_name -q "query" --output_file <output_filename> --output_delimiter=<character>选项将其导出为csv? 可以在没有 JDBC 驱动的情况下从 R 运行此命令吗? 你可以通过远程 shell 执行它,***.com/questions/305035/…。抱歉,我不是 RStudio 专家。 【参考方案1】:

这在我的 Oracle BDA 集群中有效。

library(dsreq)
print("Connecting to Impala...")
impaladb <- impalaConnection(pool='general')
dbResultsTempTbl <- dbGetQuery(impaladb, paste0("SELECT * FROM mytable") )

print("results")
print(dbResultsTempTbl)

【讨论】:

【参考方案2】:

您可以使用 ODBC 驱动程序连接到 impalaDB

library(ODBC)
drv <- odbc::odbc()
con <- DBI::dbConnect(drv = drv, driver = "Cloudera ODBC Driver for Impala",
    host = "your hostname", port = 21050, Schema = "your schema")

【讨论】:

以上是关于在没有 Impala JDBC 驱动程序的情况下从 R 连接到 Impala的主要内容,如果未能解决你的问题,请参考以下文章

Impala 通过 jdbc 使元数据无效

使用jdbc查询impala时的超时问题

无法使用 Impala JDBC 驱动程序通过 Java 应用程序连接到 Impala

为啥我可以在没有任何配置文件的情况下从 App Store 运行应用程序?

Impala JDBC 错误:用户 '' 没有执行 'SELECT' 的权限:表

我的应用程序启动时如何在没有预览的情况下从相机拍照?