Title here
Summary here
array_compact(col)
array_compact
- удаляет все null значения из массива
col
: Column or str. Колонка, содержащая массив, из которого нужно удалить значения null.Column
новый массив, полученный путем удаления всех значений null из исходного массива. from pyspark.sql import SparkSession
from pyspark.sql.functions import array, lit, array_compact
# Создаем SparkSession
spark = SparkSession.builder.getOrCreate()
# Создаем DataFrame с колонками id и values
data = [(1, [1, None, 3, None]), (2, [None, 5, None])]
df = spark.createDataFrame(data, ["id", "values"])
df.show()
+---+------------------+
| id| values|
+---+------------------+
| 1|[1, null, 3, null]|
| 2| [null, 5, null]|
+---+------------------+
# Удаляем значения null из массива в колонке values
df2 = df.withColumn("compact_values", array_compact(df.values))
# Выводим результат
df2.show(truncate=False)
+---+------------------+--------------+
| id| values|compact_values|
+---+------------------+--------------+
| 1|[1, NULL, 3, NULL]| [1, 3]|
| 2| [NULL, 5, NULL]| [5]|
+---+------------------+--------------+
pyspark array_compact
Добавлено в версии | 3.4.0. |