我有以下DataFrame
----------
|"ARR" |
----------
|[ |
| "A", |
| "B", |
| "C" |
|] |
----------
不是,我想检查ARR:中是否有特定元素
这给出一个错误(无法执行查询…(:
df
.withColumn("contains_A",array_contains("A",col("ARR")))
.show()
此处相同
df
.withColumn("contains_A",array_contains(lit("A"),col("ARR")))
.show()
这会产生假
df
.withColumn("contains_A",array_contains(array_construct(lit("A")),col("ARR")))
.show()
怎么做?
在ARRAY_CONTAINS中搜索的值必须是变体
with t0(arr) as (
select parse_json('["a","b","c"]')
)
select array_contains('a'::variant, arr) CONTAINS_A
from t0;
CONTAINS_A |
---|
真 |