如何将数据从 AWS Aurora Postgres DB 导出到 Redshift?

How to export data from AWS Aurora Postgres DB to Redshift?

我有一个 Postgres DB 托管在 AWS Aurora 上,我需要从中检索数据并将其插入 红移.

我目前的做法是:

  1. 使用 Psycopg2 创建一个 Aurora DB 连接。
  2. 使用上面创建的 Aurora 连接,查询 Aurora DB table 并将结果集导出为 CSV 文件到 S3 使用 OUTFILE
  3. 来自 S3Redshift 连接使用 Psycopg2.

我试图通过删除 S3 服务并将 Aurora 连接到 Redshift[=44 来优化它=]直接。

以下是我想要执行但找不到资源的操作:

查询Aurora table - table1 直接将结果集导出到Redshift table - table1.

我什至不确定当前系统是否可以做到这一点。有什么想法吗?

有两种方法可以将数据导入 Amazon Redshift 数据库:

  • COPY 从 Amazon S3 加载的命令
  • INSERT 语句插入作为 SQL 语句的一部分提供的数据

推荐使用COPY方式进行正常的数据加载。它跨切片并行运行,并在附加数据的情况下尽可能高效地存储数据。

INSERT 命令可以接受table 少量 插入,但对于插入大量行来说不是一个好主意。尽可能一次插入多行。使用INSERT ... SELECT语句是acceptable,它可以在一次操作中插入来自不同table的批量数据。

因此,从您的操作中删除 Amazon S3 的唯一方法是将数据编码为 INSERT 语句,但这不是加载数据的最佳方式。