Я пытаюсь передать, обновить и вернуть несколько столбцов из фрейма данных и создать новый фрейм данных, но безуспешно. Я попробовал пару вещей, но ни одна из них не сработала.
Например:
Я передаю в UDF 2 столбца request_status и err_msg и, основываясь на каком-то условии, обновлю оба столбца и верну его, и мне нужны обновленные значения для отражения в новом кадре данных вместе с другими столбцами.
Код PySpark:
Столбцы в CSV: имя, возраст, статус заявки, err_msg
def my_udf (data, message):
if data = 'ABC':
data = 'XYZ'
message = 'processed'
else:
data = '123'
message = 'not processed'
return data , message
my_udf_func = udf(my_udf)
df = sql_context.read.format('csv').option('inferschema','false').option('demiliter',',').load('input.txt')
new_df = df.withColumn([claim_status,err_msg] , my_udf_func(df[claim_status] , df[err_msg]))
Выше приведен пример примера, но я пробовал разные способы получить выходные данные, но код не работает, он всегда завершается тем или иным сообщением об ошибке.
Пожалуйста, помогите решить проблему.