2015-02-05 26 views
2

我知道當您使用Get API時,您可以設置MAX_VERSION_COUNT以獲取單元的所有版本。但是我沒有找到關於如何使用spark newAPIHadoopRDD的map操作獲取所有版本的單元的任何文檔。我試着用一個天真的result.getColumnCells(),它只返回1個結果。我怎樣才能在火花上設置MAX_VERSION_COUNT如何在spark newAPIHadoopRDD中獲取hbase單元的所有版本?

回答

1

看看TableInputFormat的源代碼後,我發現它從hbase.mapreduce.scan.maxversions讀取配置。所以設置它像這樣工作:

val conf = HBaseConfiguration.create()  
conf.set("hbase.mapreduce.scan.maxversions", "VERSION_YOU_WANT") 
val hBaseRDD = sparkContext.newAPIHadoopRDD(conf, classOf[TableInputFormat], 
    classOf[org.apache.hadoop.hbase.io.ImmutableBytesWritable], 
    classOf[org.apache.hadoop.hbase.client.Result]) 
+0

嗨,我試過這個,但我仍然得到最新版本。我已經通過配置像 conf.set(「hbase.mapreduce.scan.maxversions」,「10」) 獲取每個記錄的最後10個版本。 –

+0

你也使用result.getColumnCells()嗎? – xgdgsc

相關問題