在驱动程序中,我创建了一个要广播的val,该val不会产生任何问题:
val some_val = 100
val some_val_BC = sc.broadcast(some_val)
但是,在foreachPartition构造中,如果我尝试以任何方式访问some_val_BC并使用它,则会出现“任务无法序列化”错误。
我肯定了解Broadcast JOIN,以及以下示例:
rdd.map(i => broadcasted.value.contains(i))
那又如何呢? :
val x = some_val_BC.value
我看不出原因。除非它必须与地图一起使用。
答案 0 :(得分:0)
它不是怎么工作的。好像是有用的恕我直言。