我花了一段時間才弄明白這一點,並且想分享我的解決方案。改進絕對受歡迎。拼合RDD - 鍵值對中的嵌套列表
參考文獻:Flattening a Scala Map in an RDD,Spark Flatten Seq by reversing groupby, (i.e. repeat header for each sequence in it)
我有以下形式的RDD:RDD [(中間體,列表[(字符串,列表[(字符串,整型,浮點型)])])]
密鑰的:int
值:列表[(字符串,列表[(字符串,整型,浮點型)])]
隨着壓扁到的一個目標:RDD [(中等,字符串,字符串,整型,浮點型)]
binHostCountByDate.foreach(println)
給人的例子:
(516361, List((2013-07-15, List((s2.rf.ru,1,0.5), (s1.rf.ru,1,0.5))), (2013-08-15, List((p.secure.com,1,1.0)))))
最終RDD應給予以下
(516361,2013-07-15,s2.rf.ru,1,0.5)
(516361,2013-07-15,s1.rf.ru,1,0.5)
(516361,2013-08-15,p.secure.com,1,1.0)