s3 UNLOAD成功,但未加载任何数据

时间:2018-07-16 16:20:19

标签: amazon-s3 amazon-redshift

我正在Unload命令下运行,以将数据从redshift加载到s3中。命令已成功运行,但在redshift中看不到任何文件,已验证s3路径存在且凭据正确。

我没有任何消息可以进一步调试它。任何指针都会有所帮助。

    UNLOAD ('select  col1, col2, col3 
 from <table_name>')
  TO 's3://<path>' CREDENTIALS
    'aws_access_key_id=<key>;aws_secret_access_key=<pwd>'
  MANIFEST
  GZIP
  ALLOWOVERWRITE
  ESCAPE
  NULL AS '\\N';

2 个答案:

答案 0 :(得分:1)

确保对要写入数据的存储桶具有适当的读/写权限。 以下链接提供了更多示例来解决您的问题

https://docs.aws.amazon.com/redshift/latest/dg/r_UNLOAD_command_examples.html

关于, 拉玛

答案 1 :(得分:1)

这里是要一一遍的指针-

  1. 通过在终端或psql,select col1, col2, col3 from <table_name>

  2. 中运行查询来查看查询是否确实有效并返回记录
  3. 如果您指定s3://<path>,那么,如果您并行关闭,则在S3中创建的实际文件将是s3://<path>000。同样,如果并行执行,则将使用相似的名称模式创建多个文件。

如果您使用的是MENIFEST,则卸载MENIFEST的文件名为s3://<path>manifest

  1. 您可以执行的其他简单操作是,在S3路径上列出列表,然后手动检查文件。 s3cmd ls s3://path/