java - Result 类型的方法 raw() 已弃用

标签 java hadoop mapreduce hbase hadoop-yarn

在我们最新的 CDH 集群升级中,我们遇到了许多已弃用的方法和类。

一个这样的例子是我用来从我们的 Hbase 表记录中获取 epochTimestamp 的方法 raw(),如下所示:

String epochTimestamp = String.valueOf(values.raw()[0].getTimestamp());

我的 PM 要求我删除所有此类已弃用的功能,并将其替换为最新功能。

来自 https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Result.html我发现 listCells 相当于 raw(),但是谁能帮助我了解如何使用 listCells 从 HBase 记录中获取 epochTimestamp?

最佳答案

替代

raw()

可以迭代:

result.listCells()

这会为您提供一个单元格,然后要获取值,请使用:

CellUtil.cloneValue(cell)

查看文档:

https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/CellUtil.html

示例:

for (Cell cell : result.listCells()) {
    String row = new String(CellUtil.cloneRow(cell));
    String family = new String(CellUtil.cloneFamily(cell));
    String column = new String(CellUtil.cloneQualifier(cell));
    String value = new String(CellUtil.cloneValue(cell));
    long timestamp = cell.getTimestamp();
    System.out.printf("%-20s column=%s:%s, timestamp=%s, 
        value=%s\n", row, family, column, timestamp, value);
}

关于java - Result 类型的方法 raw() 已弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30495726/

相关文章:

java - 如何获取类层次结构中较低层的类的对象

serialization - oozie 上的 Avro Map-Reduce

Hadoop - 输入目录问题

MongoDB MapReduce 关于深层嵌套文档问题

java - 在编译过程中的词法分析阶段,javadoc 注释是否会被消除/删除?它是否包含在您的最终 .class 文件中?

java - 如何更改 JComboBox 中的箭头样式

java - Hadoop Map Reduce For Google web graph

java - MapReduce程序中的Java ArrayIndexOutOfBound异常

java - 使用鼠标滚动浏览 JTabbedPane 中的选项卡

hadoop - 将文件从hadoop群集(远程Windows机器)中上传到hdfs,就像色相上传一样