java - 使用 JDBC 将 R 连接到 Hive

标签 java r hadoop jdbc

我正在尝试使用 RJDBC 包将 R 连接到 Hive 集群。

我写的代码是:

drv <- JDBC(driverClass = "org.apache.hive.jdbc.HiveDriver", 
        classPath = list.files("C:/hive-jdbc/hive-jdbc-0.10.0.jar",
                               pattern="jar$",full.names=T),
        identifier.quote="'")

我也已将“C:/hive-jdbc”添加到我的系统路径变量中。

但是我收到以下错误:

Error in path.expand(unlist(strsplit(classPath, .Platform$path.sep))) : 
  invalid 'path' argument

有人可以帮我解决这个问题吗?

最佳答案

classPath = list.files("C:/hive-jdbc/hive-jdbc-0.10.0.jar",
                               pattern="jar$",full.names=T)

您使用 list.fileslist.files 的第一个参数应该是一个文件夹,您似乎给了它一个 jar 文件just list.files 在您的系统上运行的输出是什么?可能是 character(0)。这搞砸了 classPath。解决这个问题 - 它不清楚您希望 classPath 参数的值在这里。如果你希望它是一个文件夹中的所有.jar文件,那么

list.files("C:/wherever/", pattern="\.jar$", full.names=TRUE)

应该这样做。如果它只是一个 jar 文件,只需将其放入:

classPath="C:/hive-jdbc/hive-blahlah-999.jar"

在通话中。即,保持简单!

关于java - 使用 JDBC 将 R 连接到 Hive,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34283489/

相关文章:

hadoop - 如果第一个客户端请求读取,第二个客户端请求在Hadoop中进行写操作怎么办?

java - 集成 Lucene 索引和 Amazon AWS

java - 使用Spring data JPA,如何为过滤器表单创建动态查询

java - 计算图像的颜色数

java - JDK交叉编译使用哪个版本的JAX WS和JAXB?

r - 为什么要赋值给引用(:=) give different results when running code say two or three times within data. 表格格式?

R 以任意顺序比较两个数据集中每一行的重复值+

R Cairo pdf 字体在 Adob​​e Illustrator 中无法读取

hadoop - 在 Oozie 中循环

java - 自定义 Hive UDF 中的映射列表