查询字符串列的 Redshift Spectrum 数组
Posted
技术标签:
【中文标题】查询字符串列的 Redshift Spectrum 数组【英文标题】:Querying Redshift Spectrum array of string columns 【发布时间】:2020-10-07 00:27:02 【问题描述】:我的 redshift 集群中有一个外部 (s3) 表,其中包含一个字符串列数组。它实际上只是一个字符串列表。我可以查询并且只选择数组列,不用担心。我可以查询所有 3 个数组列,不用担心,但只要我尝试查询不是数组的其他列,我就会得到以下信息:
错误:频谱扫描错误
我在其他一些堆栈溢出问题中看到了以下方法
select id_col, b
from test.test_table as a, a.array_col as b
但是当我运行上面的代码时,我得到:array_col 上的导航是不允许的,因为它不是结构/元组类型
当然,此错误消息是有道理的,因为它不是结构或元组类型,但我不知道到底如何查询一个简单的字符串数组,但没有找到有关如何执行此操作的文档。任何帮助或建议将不胜感激!
【问题讨论】:
【参考方案1】:由于您重命名了外部表,因此您必须为要检索的所有字段使用该名称;以与数组列相同的方式。您的查询将是:
select a.id_col, b
from test.test_table as a, a.array_col as b
【讨论】:
以上是关于查询字符串列的 Redshift Spectrum 数组的主要内容,如果未能解决你的问题,请参考以下文章
在 Redshift Spectrum 中选择带有连字符的字段