将R结果导出到vertica DB

时间:2014-08-05 06:34:35

标签: r oracle vertica

我有一个表应该存储它已执行的分析结果。已完成 R Vertica 的连接,并且还能够从vertica表中提取数据,但无法将分析结果存储到 Vertica < / strong>表。
有人可以通过 RODBC 通过 R 命令帮助如何在Vertica中插入记录吗? 以下是我在Oracle中尝试的代码:

     install.packages("RODBC")
library("RODBC")  
channeldev<-odbcConnect("Dev_k", uid="krish", pwd="****", believeNRows=FALSE)
odbcGetInfo(channeldev)
dataframe_dev<- sqlQuery(channeldev, "
 SELECT input_stg_id
 FROM
 k.input_stg WHERE emp_ID=85
and update_timestamp > to_date('8/5/2013 04.00.00','mm/dd/yyyy HH24.MI.SS')")
dataframe_dev

sqlSave(channeldev,dataframe_dev,tablename="K.R2_TEST",append=TRUE)
sqlUpdate(channeldev, dataframe_dev, tablename="K.R2_TEST",index="INPUT_STG_ID")

1 个答案:

答案 0 :(得分:0)

您可以使用与Oracle相同的RODBC命令序列:

  1. 加载RODBC库:library(RODBC)
  2. 连接到Vertica数据库:odbcConnect()
  3. 保存数据:sqlSave()。出于性能原因,我建议设置fast=TRUE,禁用自动提交并在结束时提交事务。
  4. 但是,使用带有选项LOCAL的Vertica批量装入实用程序COPY:它通过ODBC透明地工作,并且比sqlSave()快得多