2016-04-16 398 views
1

我正在嘗試在一個龐大的數據集上使用Spark的MLib,我們目前已經在時間序列數據庫中保留了這個數據集。假設我們的時間序列數據庫中有數據A,B,C,D和E,我想先加載A,B,C並首先進行一些轉換,然後將轉換後的數據傳遞給Spark MLib。Apache Spark RDD工作流程

我在這方面有幾個問題。是否有我應該考慮的標準工作流程?我的意思是數據的加載,轉換對我來說似乎仍然是一個問題。這不是Spark特有的。我想知道使用Apache Camel這樣的框架進行ETL是否有任何好處,然後將結果提供給Spark?

有什麼建議嗎?

回答

0

加載和轉換數據當然不是特定的火花,但它是非常擅長的。您可以免費獲得許多不錯的功能,例如容錯,懶惰,快速批處理以及一切DSL的一致性。

你需要專門緩存在階段?

想要合併來自SQL,S3,Kafka和Twitter的數據而無需維護20個不同的ETL腳本?

Spark可以做到這一切。

也有一些限制; Spark需要能夠從數據集及其指定的轉換中構建沿襲圖,並且任何不是冪等的操作(如HTTP請求)都會中斷該類圖。

不知道更加極高總摘要:

  1. 如果你「自己」的所有數據源(也就是他們居住在一個數據庫或某事),結合所有的ETL和mllib方案。那麼你不必用演出和演出數據來演奏熱土豆。

  2. 如果您需要依賴外部數據的某些來源,請編寫一些代碼來抓取並擁有它。