2017-07-25 101 views
0

我在Spark API中使用Python API中的textFileStream()方法來在創建XML文件時讀取它們,將它們映射到XML ElementTree中,將「有趣「的項目和flatMap他們到字典(鍵:值),然後我做一個reduceByKey()來聚合每個鍵的計數。如何在Spark Streaming中執行Running(Streaming)reduceByKey

因此,如果密鑰是字符串網絡名稱,則該值可能是數據包計數。減少後,我剩下我字典中每個網絡(密鑰)的總包數。

我的問題是我有麻煩流式傳輸。它不是保持運行總數,而是每次重新計算計算值。我認爲這對我來說是一個範例問題,但我想知道是否有人可以幫助我正確分析此分析結果,謝謝!

+0

請提供一個可重現的例子,說明迄今爲止您已經嘗試了什麼 – desertnaut

回答

0

嗯,解決方案是使用updateStateByKeydoc這允許您將前一步的結果合併到當前步驟中的數據。換句話說,它允許您保持運行計算而不必存儲整個RDD,並且每次收到數據時都必須重新計算。