2017-02-22 3 views
1

Я столкнулся с этой проблемой: вызов DB создает только таблицу, у нее есть проблема с получением набора результатов JDBC.RJDBC dbGetQuery() ОШИБКА для создания внешней таблицы HIVE

Ошибка в .verify.JDBC.result (г, «Невозможно получить 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) 
+0

таблица была создана, и собственно данные были выделены из ведра S3, однако это процесс всегда останавливается и возвращает ошибку. Поэтому я не могу создать множество e в одном скрипте R, вместо этого мне нужно создать один скрипт R для каждой таблицы, которую мне нужно создать. –

ответ

0

Вместо dbGetQuery вы можете попробовать использовать dbSendUpdate? у меня были подобные проблемы и сделать этот переключатель решить эту проблему.

Смежные вопросы