如何将数据从 AWS Aurora Postgres DB 导出到 Redshift?
How to export data from AWS Aurora Postgres DB to Redshift?
我有一个 Postgres DB 托管在 AWS Aurora 上,我需要从中检索数据并将其插入 红移.
我目前的做法是:
- 使用 Psycopg2 创建一个 Aurora DB 连接。
- 使用上面创建的 Aurora 连接,查询 Aurora DB table 并将结果集导出为 CSV 文件到 S3 使用
OUTFILE
- 来自 S3,Redshift 连接使用 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
语句,但这不是加载数据的最佳方式。
我有一个 Postgres DB 托管在 AWS Aurora 上,我需要从中检索数据并将其插入 红移.
我目前的做法是:
- 使用 Psycopg2 创建一个 Aurora DB 连接。
- 使用上面创建的 Aurora 连接,查询 Aurora DB table 并将结果集导出为 CSV 文件到 S3 使用
OUTFILE
- 来自 S3,Redshift 连接使用 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
语句,但这不是加载数据的最佳方式。