我有一个表应该存储它已执行的分析结果。已完成 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")
答案 0 :(得分:0)
您可以使用与Oracle相同的RODBC命令序列:
library(RODBC)
odbcConnect()
sqlSave()
。出于性能原因,我建议设置fast=TRUE
,禁用自动提交并在结束时提交事务。但是,使用带有选项LOCAL的Vertica批量装入实用程序COPY
:它通过ODBC透明地工作,并且比sqlSave()
快得多