如何在redshift频谱中创建一个外部表,其中文件位置每天都会变化?

时间:2019-03-12 08:58:06

标签: amazon-redshift amazon-redshift-spectrum

我们计划通过使用AWS Redshift频谱从另一个AWS账户的S3中获取数据。但是Source告知,存储桶密钥每天都会更改,并且最新数据将在带有最新时间戳的存储桶密钥位置中提供。 谁能建议创建此外部表的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

Spectrum中的外部表可以配置为指向S3中的前缀(普通文件系统中的类似文件夹),也可以使用清单文件指定表应包含的文件的确切列表(它们可以甚至驻留在不同的s3存储桶中。

因此,您将不得不每天创建表并将其指向正确的位置。如果所有文件都以相同的s3前缀结尾,则必须使用清单文件来指定当前文件。

与问题不直接相关的提示: 您还可以做的是每天创建一个带有名称时间戳的表,并且每天创建一个指向最新表的视图。这样,可以很容易地查看历史数据,或者将数据用于例如。机器学习-将输入固定到不可变的数据版本,以便您可以可复制地获取训练数据-但这当然取决于您的要求。