В драйвере я создал val для трансляции, который создается без проблем:
val some_val = 100
val some_val_BC = sc.broadcast(some_val)
Однако, внутри конструкции foreachPartition, если я пытаюсь каким-либо образом получить доступ к some_val_BC и использовать его, я получаю Task not serializable error.
Я точно понимаю Broadcast JOIN, и этот пример:
rdd.map(i => broadcasted.value.contains(i))
а как же? :
val x = some_val_BC.value
Я не вижу причины, почему. Если только он не должен использоваться с картой.