有没有办法根据外部表自动刷新Redshift Matearilized视图?

问题描述 投票:0回答:2

我在 Redshift 中有物化视图,它基于外部 Redshift Spectrum 表的数据,因此无法使用 Redshift 自动刷新功能。

我只是不习惯用手刷新它。

我不太关心数据一致性,所以延迟一段时间(最多1个多小时)对我来说没问题。

那么,有什么方法可以自动更新物化视图吗?也许,可以为其配置一些TTL?还有其他想法吗?

sql amazon-web-services amazon-redshift materialized-views amazon-redshift-spectrum
2个回答
0
投票

通常,Spectrum 文件的位置是 Amazon S3。 您可以通过定期触发的计划 Lambda 自动执行更新。 您还可以建立一个触发器,每次在存储桶的一部分中创建文件时都会触发该触发器。此触发器创建一个事件,该事件启动发出所需更新的 Lambda 函数。

如果可以的话,我会从简单的开始,然后逐步发展到 Redshift Data API 和 Step 函数。

第一个选项可能是比在每个对象上传时调用 Lambda 更好的解决方案,特别是当您连续接收大量文件时。


0
投票

您现在可以在外部表上拥有增量刷新的垫视图(在预览轨道中),但您无法实现自动刷新(除非您从计划查询手动调用刷新)。

© www.soinside.com 2019 - 2024. All rights reserved.