Попытка передать древовидную структуру данных и целочисленное значение в UDF в PySpark. Как это можно сделать? Я пытаюсь withColumn()
применить UDF и передать дерево и целое число, используя lit()
. Если я правильно понимаю, lit () может создать столбец литеральных чисел в DataFrame. Но я не совсем уверен, как горит может помочь с древовидной структурой данных. Видел некоторые обсуждения StackOverflow о перегрузке UDF. Это жизнеспособное решение для этого случая? Заранее спасибо!
def find_nearest_road(lon, lat, str_tree, search_radius):
#do processing
return an_int
nearest_match_udf_int = udf(lambda row: find_nearest_road(lon, lat, str_tree, gps_err), IntegerType())
df = df.withColumn('newColName', nearest_match_udf_int("longitudeColumnInDF",
"longitudeColumnInDF",
str_tree,
search_radius
)
)