從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