Измените вашу функцию следующим образом:
@pandas_udf('array<string>', PandasUDFType.SCALAR)
def split_msg(string):
msg_ = string.str.split(" ")
return msg_
В основном ваша функция returnType должна быть массивом StringType (), а аргумент string
должен быть Series, и поэтому вам потребуется string.str.split(" ")
Однако, если вы просто хотите разделить текст, API DataFrame Spark предоставляет встроенную функцию pyspark.sql.functions.split , которая должна быть более эффективной, чем использование pandas_udf