Я написал ниже функцию в pyspark, чтобы получить deptid и вернуть фрейм данных, который я хочу использовать в spark sql.
защита get_max_salary (дептид):
sql_salary="выберите максимальную (зарплату) сотрудника, где depid = {}"
df_salary = spark.sql(sql_salary.format(deptid)) return df_salary spark.udf.register('get_max_salary',get_max_salary)
Однако я получаю сообщение об ошибке ниже. Я искал в Интернете, но нигде не мог найти подходящего решения. может кто-нибудь, пожалуйста, помогите мне здесь
Сообщение об ошибке — PicklingError: Не удалось сериализовать объект: Исключение: похоже, вы пытаетесь сослаться на SparkContext из широковещательной переменной, действия или преобразования. SparkContext можно использовать только в драйвере, а не в коде, который он запускает на рабочих процессах. Дополнительные сведения см. в SPARK-5063.