【发布时间】:2017-02-22 22:18:02
【问题描述】:
我遇到这个问题:DB调用只创建一个表,它有检索JDBC结果集的问题。
.verify.JDBC.result(r, "无法检索 JDBC 结果集 调用:dbGetQuery ... dbSendQuery -> dbSendQuery -> .local -> .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)
【问题讨论】:
-
表已创建,并从 S3 存储桶中分配了适当的数据,但是此过程总是停止并返回错误。所以我不能在一个 R 脚本中创建多个表,而是必须为我需要创建的每个表创建一个 R 脚本。
标签: r create-table rjdbc