RJDBC dbGetQuery()错误创建外部表HIVE
问题描述:
我遇到这个问题:数据库调用只创建一个表,它有检索JDBC结果集的问题。RJDBC dbGetQuery()错误创建外部表HIVE
错误.verify.JDBC.result(R“,无法检索JDBC结果为 呼叫设置:dbGetQuery ... dbSendQuery - > dbSendQuery - >。本地 - > .verify.JDBC.result 执行停止
options(java.parameters = "-Xmx32g")
library(rJava)
library(RJDBC)
drv <- JDBC("org.apache.hive.jdbc.HiveDriver", "/tmp/r_jars/hive-jdbc.jar")
for(jar in list.files('/tmp/r_jars/')){
.jaddClassPath(paste("/tmp/r_jars/",jar,sep=""))
}
conn <- dbConnect(drv, "jdbc:hive2://10.40.51.75:10000/default", "myusername", "mypassword")
createSCOREDDL_query <- "CREATE EXTERNAL TABLE hiveschema.mytable (
myvariables
)
ROW FORMAT SERDE
'com.bizo.hive.serde.csv.CSVSerde'
STORED AS INPUTFORMAT
'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
's3://mybucket/myschema/'"
dbGetQuery(conn, createSCOREDDL_query)
dbDisconnect(conn)
答
相反dbGetQuery的你可以尝试使用?我有类似的问题,使这个开关dbSendUpdate解决了这个问题。
创建表,以及适当的数据从S3桶然而这个分配,进程总是暂停并返回错误,所以我不能创建多个在一个R脚本中使用表格,而不得不为每个我需要创建的表格创建一个R脚本。 –