2016-01-20 84 views
0

是否有可能從spark中的單個DStream中獲取多個DStream? 我的用例如下:我從HDFS文件獲取日誌數據流。 日誌行包含一個id(id = xyz)。 我需要根據ID以不同的方式處理日誌行。 所以我試圖從輸入Dstream的每個ID不同的Dstream。 我找不到任何與文檔相關的東西。 有誰知道這是如何在Spark中實現的,或指向任何鏈接。Spark:從單個DStream中獲取多個DStream

感謝

回答

0

不能從單DStreams拆分多個DStreams。 你能做的最好的是: -

  1. 修改您的源系統,爲不同的ID的不同的數據流,然後你可以有不同的工作來處理不同的數據流
  2. 如果您的源不能改變,爲您提供流這是ID的混合,那麼您需要編寫自定義邏輯來識別ID,然後執行相應的操作。

我總是比較喜歡#1,因爲這是更清潔的解決方案,但也有例外,其中#2需要實施。

+0

謝謝。所以我相信我也不能從基於id的源創建多個數據框? – Alok

+0

我會這樣做的方式是 - 首先創建DataFrame,然後根據某些條件過濾DataFrame以創建進一步過濾的數據框或對過濾的數據執行一些操作。 – Sumit