2012-06-18 22 views
0

我有一個數據源一直在生成大量數據,我將這些數據定期放到我的hadoop羣集中。如何定期分析Hadoop上的數據

我要分析這些數據每隔X分鐘,但我不希望在所有每次 只想把最後X分鐘,並分析它的數據來執行我的分析...

我我正在將數據實時發送到hbase, 要獲得最後的x分鐘並對此數據執行mr作業,最佳方法是什麼?

+0

正在將數據加載到HBase的要求嗎?您是將數據保存到HDFS,然後加載到HBase中,還是直接加載HBase? –

+0

@ChrisWhite我正在將數據直接加載到hbase。這是一項要求..但是,如果hbase不是要求,您會有什麼建議? – user1463750

回答

1

您是否使用過OOZIE?這是一個工作流程協調系統。它有一個協調器的概念,您可以配置它定期運行Map Reduce作業。

然後,您可以使用它來運行使用HBase作爲輸入的M/R作業。

+0

我認爲這裏的問題是,當你在HBase中插入數據時,爲了只提取最新的數據,你必須掃描所有的數據。 –

+0

那麼我這種情況下,它只需要一個替代索引方案(索引加載時間以及當前鍵),或將數據加載到HDFS和HBase,HBase用於實時訪問,HDFS用於定期進程。 –

+0

我認爲他也可以使用HBase進行定期處理 - 將數據加載到兩個表中:一個全面,一個「過去一分鐘」。然後,當他完成它或什麼時,刪除過去的分鐘表。如果只有HBase分區... –