Допустим, у меня есть фрейм данных pyspark, содержащий следующие столбцы: c1, c2, c3, c4 и c5 типа массива. Теперь, если я хочу сделать: (c1) пересечение (c2 union c3) пересечение (c2 union c4 union c5)
Я могу использовать array_union для двух столбцов в цикле и продолжать добавлять столбец с помощью withColumnа затем сделать круг пересечения аналогичным образом.
Как я могу эффективно сделать это в PySpark? Есть ли более умный способ сделать это?