2015-12-02 25 views
0

我是新来斯卡拉和火花流媒体和我有困惑了我好几个小时的问题:如何转换DSTREAM [列表[T]到DSTREAM [T]

目前我生成的列表的DSTREAM [ T],打印出

List(PV(57,2,1448910200000,0xD13617EBC1032E0869C7,BI Office), 
PV(57,2,1447200000000,0xD13617EBC1032E0869C7,UPS office),  
PV(100,2,1449900000000,0xD13617EBC1032E0869C7,BI Office), 
PV(57,2,1447200000000,0xD13617EBC1032E0869C7,UPS office)) 

有没有办法来此DSTREAM转换列表到DSTREAM貌似

PV(57,2,1448910200000,0xD13617EBC1032E0869C7,BI Office) 
PV(57,2,1447200000000,0xD13617EBC1032E0869C7,UPS office) 
PV(100,2,1449900000000,0xD13617EBC1032E0869C7,BI Office) 
PV(57,2,1447200000000,0xD13617EBC1032E0869C7,UPS office) 

,然后我可以将其转换为一个pairDStream和实施updateStateByKey功能上DSTREAM。

回答

0

可以使用DSTREAM的flatMap功能。它将通过从源中的每个记录生成多个新记录来创建一个新的DStream。

val words:Dstream[List[T]] = { ........... } 
val word:Dstream[T] = words.flatMap(list => list) 
+0

它的工作原理!非常感谢Kaushal! –

+0

好吧,然后接受这个答案。 – Kaushal

0

尝试:

dstream.flatMap(list => list) 
+0

它的工作原理!一堆谢谢Nyavro! –