【问题标题】:Saving large data.frame into PostgreSQL with R使用 R 将大型 data.frame 保存到 PostgreSQL
【发布时间】:2014-08-08 14:29:27
【问题描述】:

我正在将非常大的 data.frame(3000 万行)从 R 保存到 PostgreSQL 数据库,它会杀死我的 PC。由于这是 dplyr 产生的计算结果,我介意使用这个包的一些内置功能,但 copy_to 不适用于如此巨大的表。有什么建议?

【问题讨论】:

标签: r postgresql dplyr


【解决方案1】:

您可以将数据框复制到 csv 或制表符分隔的文本文件,然后使用 COPY FROM 命令 [1] 将其加载到 PostgreSQL 中吗?这实现了一种可能执行得更快的批量加载方法。

在某些情况下,可以使用 RScript 将数据作为流发送并将其直接通过管道传输到 psql:

<RScript output tab delmited rows> | psql -c "COPY <tablename> (columnlist, ...) FROM STDIN WITH (FORMAT text)"

在一些长期运行的情况下,我把 | pv | 在中间跟踪进度 (http://www.ivarch.com/programs/pv.shtml)。

[1]http://www.postgresql.org/docs/current/interactive/sql-copy.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-10
    • 1970-01-01
    • 2019-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-18
    相关资源
    最近更新 更多