如何在Spark/Spark Streaming中利用位於DStream內的普通Scala Map中的reduceByKey?Spark Streaming - 爲DStream中的地圖設計的reduceByKey
我有一個DStream[(String, Array[(String, List)])]
,我想reduceByKey
功能應用到內部Array[(String, List)]
(加入所有的名單一起)
我能做到這一點在正常的火花被外界RDD轉換到正常陣列(避免SparkContext對象)的序列化錯誤,
然後運行一個foreach和應用sc.parallelize()
到裏面Array[(String, List)]
但由於DSTREAM沒有任何直接轉換到正常陣列我不能申請sc.parallelize()
的內部組件,因此沒有reduceByKey
函數。
我對Spark和Spark Streaming(實際上是整個map-reduce概念)都很陌生,這可能不是正確的做法,所以如果有人可以建議更好的做法,請這樣做。