gpt4 book ai didi

sql - 在不使用 R 内存的情况下从 dplyr 对象创建新的 SQL 表

转载 作者:行者123 更新时间:2023-12-04 18:41:28 25 4
gpt4 key购买 nike

我正在使用 dplyr 对 PostgreSQL 中的大表进行操作。多次操作后,我有大型派生表,我想将其保存到新表中。粗略的解决方案是将其加载到 R 内存中并写入数据库。这听起来很可怕,因为新表只是一个 CREATE + SQL,由 dplyr 生成。有什么方法可以使用内置函数将 CREATE 或 UPDATE 应用于数据库 dplyr 对象?

最佳答案

希望通过将哈德利的有用评论转换为答案来获得几点。另外,我认为可能有一些更改允许 copy_to也这样做(至少它似乎对我有用)。

data(iris)
remoteDb <- src_postgres(dbname="irisDb",host="remoteDB.somewhere.com",
port=5432,user="yourUser",password="yourPass")

irisSql <- copy_to(remoteDb,iris,"iris_table",temporary=FALSE)

irsSqlPermanent <- compute(irisSql, name="iris_table_permanent", temporary=FALSE)

前两行获取 R 标准数据集“iris”并建立连接(在本例中为 Postgres)。
copy_to行利用了似乎没有记录的论点 temporary这允许数据框保留在数据库中(在错误报告中找到了一个)。 compute line 也按预期工作,但我不确定如果您使用 temporary=FALSE 是否需要它与 copy_to .

关于sql - 在不使用 R 内存的情况下从 dplyr 对象创建新的 SQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25082235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com