使用RJDBC包合并配置单元表

使用RJDBC包合并配置单元表,r,rjdbc,R,Rjdbc,我正在使用RJDBC包连接到Hive library(rJava) library(RJDBC) - - - conn <- dbConnect(drv, "jdbc:hive2://ip:port","***", "****") 其他命令,即 dbGetTables (conn, "m_11") TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS 1 report m_11 TABLE &

我正在使用RJDBC包连接到Hive

library(rJava)
library(RJDBC)
-
-
-
conn <- dbConnect(drv, "jdbc:hive2://ip:port","***", "****")
其他命令,即

dbGetTables (conn, "m_11")
TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS
1                report m_11      TABLE    <NA>
而且


d您应该将数据库名附加到表名之后才能访问它。我认为rjdbc将“default”db作为默认值

dbGetQuery(conn, "select * from dbName.m_11")

此外,您应该使用配置单元查询来合并或联接两个表,而不是在R中获得数据帧后再合并它们,因为数据源(此处为配置单元)比R中的联接/合并函数(作为数据源)更智能,因为更多地了解数据的布局。

它是否仍会发出相同的“未找到表”错误?是否包含jdbc连接所需的所有JAR?dbGetQuery(conn,“select*from default.m_11”)在.verify.jdbc.result(r,“无法检索的jdbc结果集”中出错,:无法从default.metric_561检索select*的JDBC结果集(编译语句时出错:失败:SemanticException[错误10001]:行1:14未找到表'm_11')dbExistsTable(conn,“m_11”)[1]TRUE
dbGetQuery(conn, "select * from m_11")
Error in .verify.JDBC.result(r, "Unable to retrieve JDBC result set for ",  : 
  Unable to retrieve JDBC result set for select * from m_11 (Error while compiling statement: FAILED: SemanticException [Error 10001]: Line 1:14 Table not found 'm_11')
d <- dbReadTable(conn, "m_11")
Error in .verify.JDBC.result(r, "Unable to retrieve JDBC result set for ",  : 
  Unable to retrieve JDBC result set for SELECT * FROM "m_11" (Error while compiling statement: FAILED: ParseException line 1:14 cannot recognize input near '"m_11"' '<EOF>' '<EOF>' in join source)
dbGetQuery(conn, "select * from dbName.m_11")