微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从Postgresql将大数据加载到R data.table

我将我的数据存储在 Postgresql服务器中.我想将一个包含15mil行的表加载到data.frame或data.table

我使用RPostgresql来加载数据.

library(RPostgresql)
drv <- dbDriver("Postgresql")
con <- dbConnect(drv,...)

# Select data from a table
system.time(
df <- dbGetQuery(con,"SELECT * FROM 15mil_rows_table")
)

将数据从DB加载到df需要20分钟.我使用谷歌云服务器,它有60GB RAM和16核cpu

我该怎么做才能减少加载时间?

解决方法

不确定这是否会减少加载时间,因为它可以减少加载时间,因为这两个过程都具有很高的性能效率.您可以发表关于调整的评论.

>使用bash运行psql作为转储表到csv:

copY 15mil_rows_table TO '/path/15mil_rows_table.csv' DELIMITER ',' CSV HEADER;

>在R中只是畏惧它:

library(data.table)
DT <- fread("/path/15mil_rows_table.csv")

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐