Поведение UDF в Spark/Pyspark

Почему мы получаем результат из первой UDF, если в Spark/Pyspark, используются ленивые вычисления и по идеи мы должны получать вызов второй функции, а не первой при вызове метода show на DataFrame df1?

Тест


Ответы (1 шт):

Автор решения: Alex Ott

Вычисление результатов - да, ленивое. Но план строится когда выполняется spark.sql, так что df1 ссылается на первую функцию которая была связана с functionD, которая и будет вызвана при .show().

→ Ссылка