0

我在 pyspark 中编写了下面的函数来获取 deptid 并返回我想在 spark sql 中使用的数据帧。

def get_max_salary(deptid):

sql_salary="select max(salary) from empoyee where 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。

4

0 回答 0