2016-11-02 43 views
2

我正在設計一個應用程序,它需要響應速度非常快,並且需要從一個輸入(命令)中檢索和處理hadoop文件系統中的大量數據(> 40G)。Spark如何在提交後接受輸入

我在想,如果有可能使用spark在分佈式內存中捕獲如此大量的數據,並讓應用程序一直運行。如果我給應用程序一個命令,它可以開始處理基於輸入的數據。

我認爲捕捉這樣的大數據不是問題。但是,如何讓應用程序運行並採取輸入?

據我所知,沒有什麼可以經過「火花提交」命令來完成...

回答

1

要求不明確!!!,但根據我的理解,application.jar後

1)在火花提交,您可以提供應用特定的命令行參數。但是如果你想在作業開始後發送命令,那麼你可以編寫一個處理kafka消息的spark流作業。

2)HDFS已經過處理大量數據的優化。您可以緩存中間可重用數據,以免它們重新計算。但爲了獲得更好的性能,你可以考慮使用類似elasticsearch/cassandra的東西,以便可以更快地獲取/存儲它們。