0

我正在尝试根据https://blogs.aws.amazon.com/bigdata/post/Tx1G8828SPGX3PK/Connecting-R-with-Amazon-Redshift中的方法使用 dplyr 和 RPostgreSQL 将 R 连接到 Redshift

现在我知道了我的数据库、主机端口、用户和密码。所以,这是我的代码:

> myRedshift <- src_postgres('aaa',
                            host = 'aaa-aaa-aaa.com',
                            port = 8000,
                            user = "xy", 
                            password = "xy")

运行此行后,我有一个 myRedshift 列表。看起来不错。但是,当我运行时:

  a <- tbl(myRedshift, "base_posdata")

问题是:数据库 aaa 包含几个文件夹,如 a1、a2、a3。表 base_posdata 在 a1 下。所以它应该是这样的:

a <- tbl(myRedshift, "a1//base_posdata")

当然格式不正确。因此,当我使用上面的代码(a <- tbl(myRedshift, "base_posdata") )时,我收到错误消息:

Error in postgresqlExecStatement(conn, statement, ...) : 
  RS-DBI driver: (could not Retrieve the result : ERROR: relation "base_posdata" does not exist)

我想这是因为我没有提供正确的路径。谁能告诉我该怎么做?非常感谢。

4

1 回答 1

1

只需找到一种方法来处理这个问题:使用 sql 如下:

> a <- tbl(myRedshift, sql("SELECT * FROM aaa.a1.base_posdata"))

问题解决了

于 2016-10-11T05:51:56.280 回答