假设我有以下列表和单个值:
alist = [1,2,3,4,5]
alistRDD = sc.parallelize(alist)
single_value = 3
我得到了以下功能:
def a_fun(x,y):
return x+y
我正在做以下事情:
alistRDD.map(lambda x:a_fun(x,single_value))
所以我用这个函数作为第二个参数single_value
。为了在所有节点中广播这个single_value
是否有意义?
答案 0 :(得分:0)
当驱动程序向工作者提交此转换时,它将简单地传递自身的值而不是参数。因此从性能角度来看,它甚至可能更好。在没有任何逻辑的情况下分配的广播数据没有任何价值。您最好简单地传递变量,让序列化过程将其转换为值本身。希望这能回答你的问题。