我从工作站远程使用R连接到Redshift。
password=
然后我创建了一个表:
install.packages("RPostgreSQL")
library (RPostgreSQL)
drv <- dbDriver("PostgreSQL")
con1 <- dbConnect(drv, host="url", port="xxxx",
dbname="db_name", user="id", password="password")
dbGetInfo(con1)
现在我想将此表导出到我工作站上的.csv文件中,该怎么做?同样,我的工作站上没有安装PostGres数据库,只使用R来访问它。
此外,这个表是大型的,4列,1400万行。
谢谢!
答案 0 :(得分:0)
您需要将查询结果下拉到本地对象,然后将对象转储到CSV。 res <- dbSendQuery(con1, "select * from schema.table_name"); dat <-dbFetch(res); readr::write_csv(dat, "~/output.csv")
的某些内容应该让你开始。
答案 1 :(得分:0)
我在发帖后想出来 - 分享..
system.time( fwrite(dbReadTable(con1, c("schema","table")), file="file.csv", sep=",", na="", row.names=FALSE, col.names=TRUE ))
我听说羽毛更快?
这是4300万行,4列,花了15分钟。