微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将列添加到 AWS Athena paquet 表

如何解决将列添加到 AWS Athena paquet 表

我根据每日 csv 原始数据构建了 Athena parquet 版本。 到目前为止,我有大约 6TB 的镶木地板数据。

由于原始数据文件已更改,在日常导出中添加了几列,因此我需要向“Athena 模式”添加更多列。

哪种方法最有效?另外,没有该列的历史数据如何处理?

最简单的方法添加一个新表,但我更喜欢保留类似 db 的结构。

提前致谢

解决方法

在 Athena 中,表只是元数据,删除表会保留数据。可以通过删除表并使用新架构创建新表来更改表架构 - 不会损害任何数据。

Athena 使用 Parquet 的方式是它按名称将表架构中的列映射到文件中的列,如果文件中不存在列,Athena 会将其视为全部为 NULL。>

使用这两个事实,您可以使用新架构重新创建表,您会没事的。如果您想先测试它是否有效,请使用新架构创建一个新表并运行一些查询,然后删除两个表并使用原始名称重新创建该表。

有一种方法可以在不删除表的情况下执行此操作,但需要直接使用 Glue 数据目录 API,请参阅 UpdateTable。 Athena 没有任何等效操作,您无法更改或重命名表。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。