Spark 2.4 представил новые полезные функции Spark SQL, включающие массивы, но я был немного озадачен, когда узнал, что результат:
select array_remove(array(1, 2, 3, null, 3), null)
равно null
, а не [1, 2, 3, 3].
Это ожидаемое поведение? Можно ли удалить нули, используя array_remove
?
В качестве дополнительного примечания, на данный момент я использую альтернативу - функцию более высокого порядка в блоках данных:
select filter(array(1, 2, 3, null, 3), x -> x is not null)