當前位置:編程學習大全網 - 源碼下載 - 如何實現Cassandra與Hadoop MapReduce的整合

如何實現Cassandra與Hadoop MapReduce的整合

我個人認為,所謂的整合是指:我們可以編寫MapReduce程序,從HDFS中讀取數據然後插入到Cassandra中。也可以是直接從Cassandra中讀取數據,然後進行相應的計算。

從HDFS中讀取數據然後插入到Cassandra中

對於這種類型,我們可以按照以下幾個步驟來操作。

1將需要插入Cassandra的數據上傳到HDFS中。

2啟動Hadoop MapReduce程序。

這種類型的整合其實和Cassandra本身沒有什麽聯系。我們只是運行普通的MapReduce程序,然後在Map或者Reduce端將計算好的數據插入到Cassandra中。僅此而已。

直接從Cassandra中讀取數據,然後進行相應的計算

這個功能是在Cassandra0.6.x版本中添加上去的。其可以從Cassandra直接讀取MapReduce需要的數據,實現對於Cassandra的全表掃描的功能。

操作步驟如下:

1在MapReduce程序中指定使用的KeySpace,ColumnFamily,和SlicePredicate等和Cassandra相關的參數。(關於這些概念,可以參考《大話Cassandra數據模型》和《談談Cassandra的客戶端》)

2啟動Hadoop MapReduce程序。

這種類型的整合和從HDFS讀取數據的整合相比,還是有許多不同的,主要有下面幾點區別:

1輸入數據來源不同:前壹種是從HDFS中讀取輸入數據,後壹種是從Cassandra中直接讀取數據。

2Hadoop的版本不同:前壹種可以使用任何版本的Hadoop,後壹種只能使用Hadoop0.20.x

整合Hadoop0.19.x與Cassandra0.6.x

在Cassandra0.6.x中(+微信關註網絡世界),默認實現的是與Hadoop0.20.x的整合,我們無法直接在Hadoop0.19.x中使用。

所以,要實現這個目標,我們第壹步需要做的事情是,修改Cassandra的源代碼,提供壹個可以在Hadoop0.19.x中使用的功能。

轉自網界網:w.com.cn/software-develop/htm2014/20140623_303997.shtml

  • 上一篇:JFrog Xray 有什麽作用?
  • 下一篇:PEEPINGACADEMY幽靈與巫女支線任務過法詳解
  • copyright 2024編程學習大全網