成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何實現Cassandra與Hadoop MapReduce的整合?

開發 架構 大數據 Hadoop
Hadoop相信大家應該有所了解,那么Hadoop MapReduce呢,如何進行Cassandra與Hadoop MapReduce的整合,本文會給你一一解答。

在學習Hadoop的過程中,你可能會遇到整合Cassandra與Hadoop MapReduce問題,在這里向大家簡單介紹一下,希望通過本節的介紹大家能夠掌握整合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中使用的功能。

想要進行這項測試,我們可以按照如下步驟來進行:

1下載修改后的代碼。

2在MapReduce中指定如下內容(注意,這里的class使用的package都是com.alibaba.dw.cassandra.hadoop下面的):

ConfigHelper.setColumnFamily(conf,Keyspace,MemberCF,"/home/admin/apache-cassandra-0.6.1/conf");SlicePredicatepredicate=newSlicePredicate().setColumn_names(Arrays.asList("CITY".getBytes(UTF8),"EMPLOYEES_COUNT".getBytes(UTF8)));ConfigHelper.setSlicePredicate(conf,predicate);ConfigHelper.setRangeBatchSize(conf,512);ConfigHelper.setSuperColumn(conf,"MemberInfo");
3確保每一臺運行MapReduce的機器的指定目錄與MapReduce程序中設定的storage-conf.xml文件路徑一致。

4運行 Hadoop MapReduce程序。

存在的問題與改進
在實際的使用中,我們會發現Map端會出現這樣的錯誤信息:

  1. java.lang.RuntimeException:TimedOutException()atcom.alibaba.dw.cassandra.
  2. hadoop.ColumnFamilyRecordReader$RowIterator.maybeInit(ColumnFamilyRecordReader.java:125)atcom.
  3. alibaba.dw.cassandra.hadoop.ColumnFamilyRecordReader$RowIterator.
  4. computeNext(ColumnFamilyRecordReader.java:164)atcom.alibaba.dw.cassandra.hadoop.
  5. ColumnFamilyRecordReader$RowIterator.computeNext(ColumnFamilyRecordReader.java:1)atcom.google.
  6. common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:135)atcom.google.common.collect.
  7. AbstractIterator.hasNext(AbstractIterator.java:130)atcom.alibaba.dw.cassandra.hadoop.ColumnFamilyRecordReader.
  8. next(ColumnFamilyRecordReader.java:224)atcom.alibaba.dw.cassandra.hadoop.ColumnFamilyRecordReader.
  9. next(ColumnFamilyRecordReader.java:1)atorg.apache.hadoop.mapred.MapTask$TrackedRecordReader.
  10. moveToNext(MapTask.java:192)atorg.apache.hadoop.mapred.MapTask$TrackedRecordReader.
  11. next(MapTask.java:176)atorg.apache.hadoop.mapred.MapRunner.run(MapRunner.java:48)atorg.apache.
  12. hadoop.mapred.MapTask.run(MapTask.java:342)atorg.apache.hadoop.mapred.Child.main(Child.java:158)
  13. Causedby:TimedOutException()atorg.apache.cassandra.thrift.Cassandra$get_range_slices_result.read
  14. (Cassandra.java:11015)atorg.apache.cassandra.thrift.Cassandra$Client.recv_get_range_slices
  15. (Cassandra.java:623)atorg.apache.cassandra.thrift.Cassandra$Client.get_range_slices(Cassandra.java:597)
  16. atcom.alibaba.dw.cassandra.hadoop.ColumnFamilyRecordReader$RowIterator.maybeInit(ColumnFamilyRecordReader.java:108)...11more  

引起這樣的問題的原因就在于使用ThriftAPI從Cassandra讀取數據失敗了。所以我們可以優化這段代碼,提供想要的錯誤處理功能來提供程序的可用性。本節關于Cassandra與Hadoop MapReduce整合方面的知識介紹到這里。

【編輯推薦】

  1. HadoopHBase實現配置簡單的單機環境
  2. 專家指導 如何進行Hadoop分布式集群配置
  3. Hadoop集群與Hadoop性能優化
  4. Hadoop創建Hbase表方法指導
  5. 深入剖析Hadoop HBase

 

責任編輯:佚名 來源: csdn.net
相關推薦

2010-06-07 13:35:16

Hadoop簡介

2014-10-13 09:32:06

HadoopMapReduce

2025-05-23 08:37:26

2017-04-19 11:17:48

SparkHadoopMapReduce

2015-03-24 15:08:21

mapreducehadoop

2010-06-03 16:32:09

Hadoop MapR

2016-11-02 09:20:01

SparkHadoop MapR大數據

2012-10-29 10:14:07

APPHadoopSplunk

2016-09-19 15:14:41

Hadoop Hadoop MapRWordCount

2014-11-10 15:02:21

大數據云計算Hadoop

2013-01-21 13:22:56

IBMdW

2023-09-27 15:34:48

數據編程

2013-11-27 09:21:18

YARNMapReduceHadoop

2013-04-24 10:47:48

Hadoop集群

2010-08-20 16:02:45

Cassandra集群

2014-04-15 09:30:08

Cassandra\H

2012-04-23 10:30:38

Hadoop

2014-10-15 16:32:43

MapReducehadoop

2024-07-03 08:19:56

2019-10-31 09:52:02

HadoopJava大數據
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 三级在线视频 | www国产精品 | 日韩精品区 | 精品国产乱码久久久久久老虎 | 日韩精品一区二区三区中文在线 | 日韩av免费在线电影 | 日本精品一区二区在线观看 | 国产欧美在线一区二区 | 欧美日韩综合 | 欧美亚州综合 | 日韩高清一区 | 久久久久久国产精品免费免费狐狸 | 激情一区二区三区 | 一级在线观看 | 欧美综合久久 | 中文字幕久久精品 | 亚洲精品乱 | 国产999精品久久久久久绿帽 | 成人欧美一区二区三区在线播放 | 一久久久| 国产成人在线视频免费观看 | 天天射天天干 | 欧美激情精品久久久久久 | 久久久综合精品 | 日韩精品在线看 | 亚洲精品免费视频 | 欧美国产日韩精品 | 日本天堂视频在线观看 | 国产欧美日韩精品一区二区三区 | 久久精品国产一区二区三区不卡 | www.色综合| 成人精品国产一区二区4080 | 91.com视频| 成人在线小视频 | 国产高清在线观看 | 亚洲乱码一区二区 | 国产网站在线免费观看 | 国产免费一二三区 | 亚洲精品无人区 | 日韩精品中文字幕一区二区三区 | 欧美一级欧美一级在线播放 |