gpt4 book ai didi

sql - ARRAY_CONTAINS hive 中的多个值

转载 作者:行者123 更新时间:2023-12-02 03:29:01 67 4
gpt4 key购买 nike

有没有一种便捷的方法可以在 hive 中使用 ARRAY_CONTAINS 函数来搜索数组列中的多个条目,而不仅仅是一个?所以而不是:

WHERE ARRAY_CONTAINS(array, val1) OR ARRAY_CONTAINS(array, val2)

我想写:

WHERE ARRAY_CONTAINS(array, val1, val2)

完整的问题是,当我运行脚本时,我需要从命令行参数动态读取 val1val2 并且我通常不知道有多少个值将受到条件限制。因此,您可以将 vals 视为一个逗号分隔的列表(或数组),其中包含值 val1val2...,我想写

WHERE ARRAY_CONTAINS(array, vals)

提前致谢!

最佳答案

有一个 UDF here这将让你获得两个数组的交集。假设您的值(value)观具有以下结构

values_array = [val1, val2, ..., valn]

然后你就可以这样做

where array_intersection(array, values_array)[0] is not null

如果它们没有任何共同元素,则将返回 [],因此 [][0] 将为 null

关于sql - ARRAY_CONTAINS hive 中的多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25645558/

67 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com