Amazon Redshift 的 COPY 命令可以使用 curl 来加载数据,但有时候可能会出现 curl timeout 的错误。若想采用 SQL 替代 curl 解决超时问题,可以使用 UNLOAD 命令将数据导出到 S3,然后使用 COPY 命令从 S3 中加载数据。以下是代码示例:
导出数据到 S3:
UNLOAD ('SELECT * FROM table')
TO 's3://bucket/folder/'
CREDENTIALS 'aws_access_key_id=;aws_secret_access_key='
DELIMITER '|';
加载数据到 Redshift:
COPY table
FROM 's3://bucket/folder/'
CREDENTIALS 'aws_access_key_id=;aws_secret_access_key='
FORMAT AS DELIMITER '|';