我正在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';
答案 0 :(得分:1)
确保对要写入数据的存储桶具有适当的读/写权限。 以下链接提供了更多示例来解决您的问题
https://docs.aws.amazon.com/redshift/latest/dg/r_UNLOAD_command_examples.html
关于, 拉玛
答案 1 :(得分:1)
这里是要一一遍的指针-
通过在终端或psql,select col1, col2, col3 from <table_name>
如果您指定s3://<path>
,那么,如果您并行关闭,则在S3中创建的实际文件将是s3://<path>000
。同样,如果并行执行,则将使用相似的名称模式创建多个文件。
如果您使用的是MENIFEST,则卸载MENIFEST
的文件名为s3://<path>manifest
。
s3cmd ls s3://path/