首页 > 解决方案 > 是否有任何包或方法可以将 data.table R 代码转换/发送为 sql 查询以发送到数据库?

问题描述

我想从 R 发送查询并在 AWS redshift 中进行数据操作。我在 R 中使用 data.table 但发现在将数据导入 R 之前我需要在数据库本身中进行许多操作。

有没有办法可以将 data.table 代码传递给内部的连接,dBgetquery或者dBdendUpdate将其带入数据库并执行它?

例子:

library(data.table)

dBgetQuery(conn, < data.table code>)

标签: rdata.tableamazon-redshift

解决方案


如果有帮助,您可能需要参考此链接。从 Postgresql 将大数据加载到 R data.table 但是,建立 dplyr 包是为了在 aws Redshift 上快速高效地工作

library(dplyr)
library(RPostgreSQL)

myRedshift <- src_postgres('demo', host = 'redshiftdemo.ckffhmu2rolb.eu-west-1.redshift.amazonaws.com',
port = 5439,
user = "Deb", 
password = "XXX")

然后,使用函数 tbl() 创建表引用。这意味着您正在创建一个指向 Amazon Redshift 集群中的表的 R 对象,但数据并未加载到 R 内存中。

#create table reference
flights <- tbl(myRedshift, "flights")

参考https://aws.amazon.com/blogs/big-data/connecting-r-with-amazon-redshift/


推荐阅读