如何在 Redshift 中使用 UNLOAD 将日期添加到文件名

问题描述

我找到了 2 个解决方案:

  1. 使用 AWS Data Pipeline 安排查询(卸载)并使用 's3://reporting-team-bucket/importfiles/test_123-#{format(@scheduledStartTime,'YYYY-MM-dd-HH')}。 csv'
  2. 编写 MV 命令以重命名 s3 存储桶上的文件

有没有办法通过使用 Redshift 而没有其他服务来提供文件的当前日期?

这是我目前的代码

unload
(
'select * from table'
)
to 's3://bucket/unload_test/test_123_{CurrentDate}.gz'
ACCESS_KEY_ID '12345678910'
SECRET_ACCESS_KEY '10987654321'
GZIP
ParaLLEL off; 

例如只需要获取 CurrentDate 为 202106。

谢谢!

解决方法

我从未尝试在事务中使用 UNLOAD,但如果它有效,您可以使用过程。