数组中的至少一个元素存在于另一个数组中

Posted

技术标签:

【中文标题】数组中的至少一个元素存在于另一个数组中【英文标题】:Minimum one element from the array exist in another array 【发布时间】:2021-05-20 07:21:31 【问题描述】:

我想检查一个数组中的最少一个元素是否存在于另一个数组中。下面是供参考的SQL代码:

CREATE TEMP FUNCTION is_array_in_array(subset ARRAY<string>, main ARRAY<string>)
AS ((SELECT min(a in UNNEST(main)) FROM UNNEST(subset) as a));

PySpark 中最好的实现是什么?

【问题讨论】:

【参考方案1】:

您可以检查数组是否重叠(docs):

import pyspark.sql.functions as F

df2 = df.withColumn('is_array_in_array', F.arrays_overlap('subset_col', 'main_col'))

【讨论】:

以上是关于数组中的至少一个元素存在于另一个数组中的主要内容,如果未能解决你的问题,请参考以下文章