我对设置一些自动化作业感兴趣,这些作业将定期从我们的Redshift实例中导出数据并将其存储在S3上,理想情况下,它将通过运行在Redshift Spectrum中的外部表将其冒泡回到Redshift。我不确定如何最好地处理的一件事是我正在处理随时间变化的某些表的情况。
我既可以毫无问题地将数据从Redshift卸载到S3,也可以在Redshift中设置一个外部表,并使S3数据可用于查询。但是,我不确定如何最好地处理表将随时间变化的情况。例如,对于某些我们通过Segment捕获的事件数据,添加的特征将导致Redshift表上的新列在以前的UNLOAD中不存在。在Redshift中,列存在之前进入的数据的列值只会导致NULL值。
处理这种随着时间而变化的数据结构的最佳方法是什么?如果仅更新外部表中的新字段,Redshift将能够处理这些字段在旧版UNLOAD上不一定存在的事实,还是我需要走其他路线?