【问题标题】:Broadcasting a single value Spark(python)广播单个值 Spark(python)
【发布时间】:2016-05-11 09:45:09
【问题描述】:

假设我有以下列表和一个值:

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 以便在所有节点中有意义吗?

【问题讨论】:

  • 我认为您的问题更多:在性能方面重要吗?我认为答案是否定的

标签: apache-spark pyspark broadcast


【解决方案1】:

当驱动程序将此转换提交给工作人员时,它只会传递它自己的值而不是参数。所以从性能的角度来看,它可能会更好。没有任何逻辑分配的广播数据是没有价值的。您最好简单地传递变量并让序列化过程将其转换为值本身。希望这能回答你的问题。

【讨论】:

  • 澄清一下,从性能的角度来看,广播单个值可能更好?
  • 没有。最好让它序列化成一个值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-01
  • 2016-08-18
  • 2015-10-08
  • 1970-01-01
相关资源
最近更新 更多