如何在spark newAPIHadoopRDD中获取所有版本的hbase单元?

时间:2015-02-05 01:58:50

标签: hadoop hbase apache-spark

我知道当您使用Get API时,您可以设置MAX_VERSION_COUNT以获取单元格的所有版本。但我没有'找到有关如何使用spark newAPIHadoopRDD的map操作获取所有版本的单元格的任何文档。我'尝试了一个天真的result.getColumnCells(),它只返回1个结果。如何在火花中设置MAX_VERSION_COUNT

1 个答案:

答案 0 :(得分: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])