2016-09-23 156 views
0

我只有RDBMS PostgresSQL的經驗但是Im新到Apache Spark和MongoDB
所以我有以下困惑請我

Apache Spark SQL和MongoDB之間的區別?

1)Apache Spark SQL和MongoDB之間有什麼區別?
2)我需要使用SparkSQL或MongoDB或組合方式的地方/場景/域名?
3)Apache Spark取代了像mondoDB,cassandra ...?
4)我在MongoDB中有多個TB的數據,我想做數據分析,然後需要提供報告。

所以請分享我的知識和給我你的投入

問候
桑卡小號

回答

5

1) 阿帕奇星火: Apache的火花在SQL查詢中對大數據進行並行計算操作。

MongoDB的: MongoDB是一個文檔存儲和本質上是一個數據庫,所以不能與星火這是一個計算引擎,而不是商店進行比較。

2) SparkSQL可以是理想的星火集羣導入處理結構化數據,你有幾百萬供大的計算數據。 Mongodb可用於您需要NoSQL功能的地方(它具有完整的NoSQL功能,與SparkSQL相比)。

3) 沒有Apache的Spark是用於不同的目的,你不能mondoDB取代它,cassandra.It就像是計算引擎給你預測對large data sets

4) 使用結果像SLAM DATA http://slamdata.com/這樣的第三方服務應用mongodb分析也使用 火花數據幀從MongoDB讀取數據

+0

謝謝,瓦西克穆罕默德 –

3

這是兩個不同的和廣泛的問題,但我做的嘗試回答: -

1)什麼Apache Spark SQL和MongoDB有什麼區別?

Spark SQL是由Apache Spark提供的一個庫,用於在SQL查詢中對大數據執行並行計算操作。 MongoDB是一個文檔存儲,本質上是一個數據庫,因此無法與Spark相比,它是一個計算引擎而不是商店。

2)我需要使用SparkSQL或MongoDB或組合方式需要什麼類型的場所/場景/域?

SparkSQL可以理想地處理Spark集羣中導入的結構數據。 Mongodb可以在你需要NoSQL功能的地方理想(它具有完整的NoSQL功能,與SparkSQL相比)

3)Apache Spark被替換爲類似mondoDB,cassandra ...?

不完全是因爲它們處於不同的範圍。 Apache Spark並未取代,但可稱爲Map-reduce的後繼產品,用於在大型數據集上進行並行計算。

4)我在MongoDB中有多個TB的數據,我想做數據分析,然後需要提供報告。

使用spark數據框從使用jdbc驅動程序的MongoDB中讀取數據,然後可以在數據框上運行一些Spark SQL查詢,然後使用其他可視化工具(如pyplot)生成報告。

謝謝,

Charles。

+0

感謝Charles。 在我的情況下,我在MongoDB集羣中有數百萬條記錄。 從那些記錄我想做聚合,計數,總和,groupby,排序操作。 之後,聚合數據需要提供一些圖形工具。 這是全面的工作。所以從你的投入我明白這一點。 1)我想從mongoDB集羣加載數據到Spark Cluster。 2)然後我需要從Spark Cluster將數據提取到SparkSQL。 3)然後使用SparkSQL我需要做聚合,計數,總和,排序操作。 4)完成彙總,總和,排序操作後,我需要將這些數據提供給圖形工具 對不對? –

相關問題