"PicklingError: Не удалось сериализовать объект: Исключение: создается впечатление, что вы пытаетесь сослаться на SparkContext из широковещательной переменной, действия или преобразования. SparkContext можно использовать только в драйвере, но не в коде, который он запускает на рабочих. Для получения дополнительной информации см. SPARK-5063. "
Я получаю сообщение об ошибке выше, когда я пытаюсь запустить мой код. Я надеюсь, что этот пример может объяснить, что я пытаюсь сделать .. У меня есть минусы файл, в котором у меня есть все имена столбцов, и здесь я пытаюсь добавить метки к результату, который я получаю из моего последнего вывода. получая ошибку в udf_get_Status (examresults_table.marks_obtained) эта строка не уверена, что я попытался udf_get_Status (cons.COL_marks_obtained) все тот же
def get_status(self,marks_obtained)
marks_obtained = int(marks_obtained)
if marks_obtained == 0:
return "failed"
if marks_obtained > 0 and marks_obtained <35:
return "pass"
else:
return "good_grade"
def create marks_sheet_table(self,student_information,examresults):
student_information = student_information.select(cons.COL_NAME ,cons.COL_ID)
examresults = examresults.select(cons.COL_ID ,cons.COL_marks_obtained)
examresults_table = student_information.join(student_information['COL_ID'])
udf_get_Status = udf(self.get_status,stringtype())
result_status_label = examresults_table.withcolumn(cons.COL_status_label,udf_get_Status(examresults_table.marks_obtained))