首页 > 解决方案 > 如何为 Amazon Redshift 外部表建模以更改列结构?

问题描述

c1, c2, c3, c4, c5我在源表(MySQL)中有 5 列。我导出了表并在 S3 中添加,如:

s3://data/table_name/YYYYMMDD/table_nameYYYYMMDDHHMMSS.csv

我导出了 3 个月的数据。

在后面的阶段,两个新的列说c6c7添加了。现在导出的文件s3://data/table_name/YYYYMMDD/table_nameYYYYMMDDHHMMSS.csv将有 7 列

并且该c4列也有可能被删除。所以导出的文件将有6列,即c1, c2, c3, c5, c6, c7

如何对外部表进行建模以适应这些变化?

标签: mysqldatabaseamazon-s3amazon-redshift

解决方案


实际上,如果您使用红移光谱/雅典娜,您可能会没事!

添加列 - 很好 - 只需运行胶水爬虫,新列将可用

删除列 - 很好 - 删除的列将仅显示为空值

您不能更改列的定义。

我绝对建议 - 如果可以的话 - 转换为镶木地板并探索使用分区来存储您的数据。

另外,我建议您尝试一下 - 一次添加一个更改的数据 - 根据需要重新运行胶水爬虫 - 并使用 athena 确保一切正常。


推荐阅读