只需使用 RODBC 包自己解决即可。
您需要设置一个 ODBC 连接(我们称之为 redshift_con)。
从 R 中,您需要使用以下命令创建连接(我称之为 ch):
ch <- odbcConnect("Annalect DB", uid = "username", pwd = "******")
在 R 中加载我的数据框并运行:
sqlSave(ch, mydataframename, addPK = TRUE, verbose = TRUE)
R 在 redshift 中创建一个名为“mydataframename”的新表。这不是很快,如果我找到并优化了方法,我会及时通知您。
如果您需要更多信息,请参阅http://cran.r-project.org/web/packages/RODBC/index.html http://cran.r-project.org/web/packages/RODBC/index.html
################ SAMPLE CODE FOR TESTING ##############
install.packages("RODBC")
library('RODBC')
ch <- odbcConnect("redshift_con", uid = "admin", pwd = "********")
sqlColumns(ch, "public.r_test")
USArrest<-data(USArrests)
sqlSave(redshift_con, USArrests, rownames = "State", addPK = TRUE, verbose = TRUE)
我将发表有关处理速度的评论。
UPDATE
仅适用于非常少量的数据
半小时1500条记录。