将列添加到 AWS Athena paquet 表

pep*_*ppe 2 alter-table parquet amazon-athena

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

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

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

最简单的方法是添加一个新表,但我更喜欢保持类似数据库的结构不变。

提前致谢

The*_*heo 5

在 Athena 中,表只是元数据,删除表会将数据保留在原处。更改表架构可以通过删除表并使用新架构创建一个新表来完成 \xe2\x80\x93\xc2\xa0 数据不会受到损害。

\n

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

\n

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

\n

有一种方法可以在不删除表的情况下完成此操作,但它需要直接使用 Glue Data Catalog API,请参阅UpdateTable. Athena does not have any equivalent operation, you can\'t alter or rename tables.

\n