在 Athena 中检查数组

22

我在 Athena 中有一张表,其中一个列的类型为 array<string>。然而,当我运行时

select * from mytable
where array_contains(myarr,'foobar')
limit 10

看起来 Athena 没有 array_contains 函数:

SYNTAX_ERROR: line 2:7: Function array_contains not registered

有没有其他方法可以检查数组中是否包含特定的字符串?


你为什么要尝试使用 array_contains - David דודו Markovitz
谢谢@DuduMarkovitz!我正在研究Hive,这似乎是建议使用的用于检查数组的函数。我没有看到或尝试过contains,但它有效。 - dunstantom
请耐心等待,我正在尝试解决一个问题。你为什么认为Hive在这里是相关的? - David דודו Markovitz
2
回想起来,我意识到 Athena 只是使用 Hive metastore,但之前我认为 Hive 函数也可用。现在我意识到我应该参考 Presto 的文档。 - dunstantom
没错 :-) 我经常看到这种情况发生 - David דודו Markovitz
1个回答

36
select * 
from   mytable
where  contains(myarr,'foobar')
limit  10

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接