2016-11-22 65 views
4

我正在研究用於傳感器數據和預測分析的大數據解決方案。 我是大數據新手,並且閱讀了關於lambda架構的內容。 我曾考慮將Cassandra數據庫與Hadoop一起使用。 Cassandra是一個高可用性和分區容忍數據庫,Hadoop hdfs是用於大型分析作業的文件系統。具有cassanda和hadoop的大數據lambda體系結構

如果我從物聯網設備接收數據,數據應該先保存在Hadoop中然後保存到Cassandra中? lambda體系結構在批處理層中包含Hadoop,接收數據並將其發送到服務層到nosql數據庫。

爲什麼數據應該是Hadoop中的第一個? 以及如果Hadoop包含原始數據,在Cassandra中存儲了哪些數據?

此時流層不在焦點。 我只想了解一起使用Cassandra和Hadoop。

Hadoop中的數據用於大型分析,在cassandra中應該有我的Hadoop作業的結果。

這是否意味着我可以存儲我的原始數據?如果不僅大型分析工作對我的應用程序有用,我可以將我的原始數據存儲在Cassandra和Hadoop中?

INSERT INTO temperature(weatherstation_id,event_time,temperature) 
VALUES (’1234ABCD’,’2013-04-03 07:02:00′,’73F’); 

如果這是我的插件和我有成千上萬的人在一個單一分鐘。 我想做一些大型工作,我使用Hadoop?

但我也需要每一個數據行爲我的應用程序沒有分析。 Cassandra也在儲存它?

+1

您想要實時顯示給用戶的數據需要在cassandra中。 –

+0

所以我也可以安全我的數據+時間戳在兩個?此外,我有可能對大數據集進行分析,並將結果傳遞給cassandra在不同的表中? – Khan

+0

如何從Hadoop的傳遞到Cassandra的數據,如果我不想對原始數據的分析?還是應該將數據傳遞給兩者? – Khan

回答

1

折衷在延遲和吞吐量之間。 Hadoop應該提供高吞吐量,但延遲非常高。所以hadoop用於lambda體系結構中的批處理。但是,當您想將預先計算的數據(或彙總數據)傳遞到可視化層等另一層時,可能會有要求。這些預先計算的數據基本上存儲在cassandra或hbase中以具有低延遲。

+0

你的意思是,如果我有大型數據集的分析應該在Hadoop進行,結果在卡桑德拉薩法德? – Khan

+0

如果我想在cassandra中完成任何分析,我還想要所有的時間戳+數據,該怎麼辦? – Khan

+1

基本上數據的任何改造或操縱可基於hadoop的系統來完成,而且彙總可以存儲在沒有SQL。 –

1

當您從物聯網設備收到數據時,您需要儘快保存這些數據。這正是Cassandra所擅長的。
比你需要處理這些數據,並且由於數據量很大,在實際情況下,你不希望進行即時數據處理,而是需要批處理(例如每晚處理)。
現在輪到Hadoop了。
因此,您必須從Cassandra中提取數據,然後將其放入Hadoop的文件系統(hdfs)中,然後執行一些處理(通過Hive或Spark)。
你也可以考慮使用Cassandra-Spark直接流式作業,但是我建議先從Cassandra中複製數據,因爲這樣可以將這些數據用作沙箱(調試作業,測試新算法等)對Casandra集羣性能的影響。

0

您可以閱讀關於卡桑德拉和大數據here
免責聲明:我是這篇文章的作者。