AWS:使用从 s3 到 redshift 的复制命令时没有插入任何内容

Posted

技术标签:

【中文标题】AWS:使用从 s3 到 redshift 的复制命令时没有插入任何内容【英文标题】:AWS : nothing inserted when use copy command from s3 to redshift 【发布时间】:2017-05-16 16:19:42 【问题描述】:

我在 s3 中有大数据,必须进入 redshift,并且在 redshift 中有一张表。由于我使用python,所以我编写了python脚本并使用psycopg2连接redshift。我成功连接到redshift,但我未能将数据从s3插入到redshift。 我在aws网站上检查了仪表板,发现redshift收到了一个查询并加载了一些东西,但它没有插入任何东西,而且这个过程消耗的时间太长了,比如3分钟以上。没有错误日志,所以我找不到是什么原因。

这有什么可能的原因吗?

编辑 添加了我使用的复制命令。

copy table FROM 's3://example/2017/02/03/' access_key_id '' secret_access_key '' ignoreblanklines timeformat 'epochsecs' delimiter '\t';

【问题讨论】:

【参考方案1】:

尝试查询 stl_load_errors 表,它有关于数据加载错误的信息 http://docs.aws.amazon.com/redshift/latest/dg/r_STL_LOAD_ERRORS.html

select * from stl_load_errors order by starttime desc limit 1

【讨论】:

如果它没有出现在 stl_load_errors 中,这可能意味着它认为它是成功的。你确定你在 S3 中找对地方了吗? 我已经做过,但没有记录。 你的bucket和cluster在同一个区域吗?如果不是,您需要指定区域选项。 docs.aws.amazon.com/redshift/latest/dg/…

以上是关于AWS:使用从 s3 到 redshift 的复制命令时没有插入任何内容的主要内容,如果未能解决你的问题,请参考以下文章

如何从 SQL 脚本执行 AWS S3 到 Redshift Copy 命令?

S3 到 Redshift:在拒绝访问的情况下复制

从充满 CSV 文件的 AWS S3 目录中复制 Redshift

将数据从本地迁移到 AWS redshift

将数据从 Amazon S3 复制到 Redshift 并避免重复行

在 aws redshift 中自动化跨区域复制表