雅典娜查询失败,字段不存在

时间:2021-07-15 11:38:23

标签: sql amazon-web-services amazon-athena

我有 JSON 格式的 S3 数据文件,在运行胶水爬虫后,数据在 Athena 表中可用。

在 Athena 表中,我有一个类型为 <struct<x:string>,<y: int>,etc.> 的列(比如属性)。现在,在某个截止日期之后,此属性列中添加了一个新字段(例如 z),现在数据类型为 <struct<x:string>,<y: int>,<z:String> , <etc.>>

要求

我想使用基于 z 的值进行过滤的相同查询来查询旧数据和新数据。

问题

问题是以前的数据不包含此字段,当我应用 where 子句时,由于在旧数据中找不到该字段,因此出现错误。是否可以选择不使对旧数据的查询失败或将属性中不存在的字段视为空?

1 个答案:

答案 0 :(得分:0)

您可以使用 COALESCE()dynamic_cast 插入默认值。这样的事情应该可以解决问题:

z