我有一个包含String元组的列表
list = [("A", "B"), ("B", "C"), ("B", "D")]
我有一个包含的哈希图
hash_map = ("A"-> List("B"), "B" -> List("C", "D"))
我想通过以下方式遍历list
并创建一个RDD,
RDD = [("A", "C"), ("A", "D")]
我尝试这样做,
val result = list.map(d => (d._1, hash_map.get(d._2).map(v => v)))
但是,它返回
OUTPUT:
("A", List("C", "D"))
我应该怎么做?
答案 0 :(得分:1)
不确定这与RDD有什么关系,但这会为您带来所需的结果。
val list = List(("A", "B"), ("B", "C"), ("B", "D"))
val hashMap = Map("A"-> List("B"), "B" -> List("C", "D"))
val r = list.flatMap { case (a, b) =>
hashMap.getOrElse(b, Nil).map((a, _))
}
println(r)