【发布时间】:2013-05-31 23:37:09
【问题描述】:
如何将 CSV 文件从 S3 存储桶复制到 Redshift 并避免重复行? 我已阅读有关复制命令的信息,但没有找到任何有关通过 PHP SDK 使用它的文档。
【问题讨论】:
标签: php amazon-s3 amazon-redshift
如何将 CSV 文件从 S3 存储桶复制到 Redshift 并避免重复行? 我已阅读有关复制命令的信息,但没有找到任何有关通过 PHP SDK 使用它的文档。
【问题讨论】:
标签: php amazon-s3 amazon-redshift
PHP SDK 旨在运行管理任务(与 Web 控制台相同)。
要加载数据,只需使用 PostgreSQL 连接器连接到数据库并运行 COPY 查询。
避免重复行是另一个问题 - 目前 redshift 不强制执行 UNIQUE 约束,因此源文件中存在的任何行都将添加到目标表中(即使已经存在相同的 UNIQUE 值)。
文档提供了一些提示如何仅导入新行,例如:
将数据复制到 temp_table 中;
仅插入新数据:
INSERT INTO dest_table (
SELECT * from temp_table
WHERE key NOT IN (
SELECT key FROM dest_table
)
)
【讨论】: