【发布时间】:2020-06-18 02:49:23
【问题描述】:
背景:
我在每个城市的 redshift 数据库中存储了多个资产表,总共 8 个城市。这些资产表按小时显示状态更新。 8 个 SQL 表,一年大约 5 亿行数据。 (我还可以访问每分钟更新此数据的服务器。)
示例:一个市场可以有 20k 资产,每天显示 480k(20k*24 小时)状态更新。
这些状态更新是原始格式,需要经过转换过程,该过程当前编写在 SQL 视图中。最终状态将进入我们的 BI 工具 (Tableau) 以供外部利益相关者查看。
问题:
当前处理数据的方式既慢又低效,在 Tableau 中每小时运行此作业可能不现实。状态转换需要我回顾 30 天的数据,所以我确实需要回顾整个查询的历史。
可能的解决方案:
以下是一些我认为可能可行的解决方案,我想就我的情况获得最有意义的反馈。
- 运行一个查看最近更新的 Python 脚本,并以 cron 作业的形式查询 30 天的大型历史记录表,并将结果发送到 redshift 数据库中的一个表。
- 具体化 SQL 视图并每小时运行一次增量刷新
- 将视图作为数据源放入 Tableau 中,并每小时运行一次增量刷新
请告诉我你将如何解决这个问题。我的知识是 SQL、有限的数据工程经验、Tableau(Prep 和桌面)以及 Python 或 R 脚本。
【问题讨论】:
标签: python r amazon-redshift database-administration