Verificando se um elemento RDD está em outro usando a função map

Eu sou novo no Spark e estava pensando em fechamentos.
Eu tenho dois RDDs, um contendo uma lista de IDs e um valor e o outro contendo uma lista de IDs selecionados.
Usando um mapa, quero aumentar o valor do elemento, se o outro RDD contiver seu ID, assim.

val ids = sc.parallelize(List(1,2,10,5))
val vals = sc.parallelize(List((1, 0), (2, 0), (3,0), (4,0)))
vals.map( v => {
  if(ids.collect().contains(v._1)){
    (v._1, 1)
  } 
 })

No entanto, o trabalho trava e nunca é concluído. Qual é a maneira correta de fazer isso, obrigado por sua ajuda!

questionAnswers(1)

yourAnswerToTheQuestion