AWS Athena对S3文件中的架构更改有何反应?

Sar*_*ang 2 schema amazon-s3 amazon-web-services amazon-athena

在AWS Athena中为S3上的文件创建表后,S3上的文件结构发生变化时会发生什么?

例如:

  1. 如果创建表时文件以前有5列,后来新文件又开始增加1列:a)最后吗?b)之间?

  2. 当某些列在新文件中不可用时会发生什么?

  3. 当列保持不变但列顺序改变时会发生什么?

  4. 我们可以更改Athena表以适应这些更改吗?

Hen*_*nry 5

1-Athena不是NoSQL解决方案。它也不是动态模式。如果更改架构,则特定文件夹中的所有文件都应反映该更改。雅典娜不会神奇地更新它的内容。

2-那将是一个问题,它会破裂。您应包括NULL,,强迫它没问题。

3-雅典娜按专栏顺序整理。确实不是名字。如果您的列顺序更改,则可能会中断(不同类型)。

4-是的 您始终可以通过拖放并创建一个新表轻松地重新创建Athena表。

如果具有可变长度的文件,则应将它们插入不同的文件夹中,以便每个文件夹代表一个一致的架构。然后,您可以稍后在Athena中使用union或类似名称对此进行统一,以创建一个精简的简化表,您可以将一致的模式应用于该表。

  • 真的。有道理。由于表的文件都必须与顶级架构一致,因此更改表并添加新列本身没有意义,因为这意味着基础数据首先将包含这些列 (2认同)