Redshift UNLOAD导出CSV到S3未生成.csv文件,仅见000及manifest文件求助
Redshift UNLOAD导出无.csv后缀文件的问题解决
核心结论
你看到的myfile000就是实际的CSV数据文件,Redshift的UNLOAD命令在指定parallel off时,默认不会自动给数据文件加上.csv后缀,S3里类型显示短横线只是因为没有后缀导致系统无法识别文件类型而已,本质它就是你要的CSV格式文件。
处理步骤
- 直接验证文件:下载
myfile000打开,会发现它完全符合你指定的格式(带表头、用|分隔)。 - 生成带.csv后缀的文件:修改UNLOAD命令的
to参数,在路径末尾加上.csv,示例命令如下:
UNLOAD('select distinct * from mytable') to 's3://my-bucket/data/myfile.csv' iam_role 'xxxxxxxxxxxxxxxxxxxxxx' header CSV DELIMITER AS '|' manifest allowoverwrite parallel off
执行后会生成myfile.csv000文件,S3就能识别出CSV类型了。
- 关于
myfilemanifest:这是你指定manifest参数后生成的清单文件,用来记录所有导出数据文件的路径,方便后续用COPY命令导入,属于正常生成的文件,无需特殊处理。
内容的提问来源于stack exchange,提问作者pan325
相关产品推荐
相关产品推荐

