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

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

如何解决雅典娜查询失败,字段不存在

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

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

要求

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

问题

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

解决方法

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

z

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