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

查询字符串列的Redshift Spectrum数组

如何解决查询字符串列的Redshift Spectrum数组

我的redshift集群中有一个外部(s3)表,其中包含一个字符串列数组。它实际上只是一个字符串列表。我可以查询,只选择数组列就不用担心了。我可以毫无疑问地查询所有3个数组列,但是只要尝试查询不是数组的其他列,我就会得到以下信息:

错误:频谱扫描错误

在其他一些堆栈溢出问题上,我尝试了以下方法

select id_col,b
from test.test_table as a,a.array_col as b 

但是当我运行上面的代码时,我得到:不允许在array_col上导航,因为它不是结构/元组类型

当然,此错误消息是有意义的,因为它不是struct或tuple类型,但是我迷失了如何查询简单的字符串数组,却找不到有关如何执行此操作的文档。任何帮助或建议,将不胜感激!

解决方法

自重命名外部表以来,必须对要检索的所有字段使用该名称;以与处理数组列相同的方式。您的查询将是:

select a.id_col,b
from test.test_table as a,a.array_col as b 

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