1
이 문제가 발생했습니다. DB 호출은 테이블 만 생성하며 JDBC 결과 집합을 검색하는 문제가 있습니다. .verify.JDBC.result에서RJDBC dbGetQuery() 외부 테이블을 생성하는 중 오류가 발생했습니다. HIVE
오류 (r은, "JDBC를 검색 할 수 없습니다가 통화에 대한 결과 집합 : dbGetQuery ... dbSendQuery -> dbSendQuery -> .local의 -> .verify.JDBC.result 실행은
를 중단 당신은? 나는 비슷한 문제가이 스위치를 만들고 있었다 에게 dbSendUpdate를 사용하여 시도 할 수 있습니다 대신 dbGetQuery의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 버킷에서 할당 된 프로세스가 항상 멈추고 오류를 반환합니다. 따라서 multipl를 만들 수 없습니다. e 테이블을 하나의 R 스크립트에 저장하는 대신 생성해야하는 각 테이블에 대해 하나의 R 스크립트를 만들어야합니다. –