如何使用Amazon Athena展开表中的对象类型列?
解决方法
你的错误根源是误用了UNNEST函数:UNNEST专门用来拆解数组类型的数据,而你的meta_data是行结构体(row/struct类型),完全不需要用UNNEST。
直接提取结构体中的字段即可,正确的SQL有两种写法:
写法1:指定提取字段
SELECT meta_data.prop_1, meta_data.prop_2 FROM myTable;
写法2:展开所有结构体字段
如果结构体字段较多,也可以直接用.*一键展开:
SELECT meta_data.* FROM myTable;
错误原因说明
UNNEST()函数要求传入的参数必须是数组类型,但你的meta_data是row(prop_1 varchar, prop_2 integer)类型,和UNNEST的参数类型不匹配,因此触发INVALID_FUNCTION_ARGUMENT错误。
内容的提问来源于stack exchange,提问作者Christian
相关产品推荐
相关产品推荐

