2015-12-02 30 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! –