某些方法在较新版本的Hbase Scan类中不可用

时间:2017-11-30 08:41:37

标签: java hbase

我是hbase java api的新手,我需要将旧的hbase,0.94代码迁移到更新版本的hbase 1.2.6。从这个意义上讲,我已经意识到Scan.write()和Scan.readFields()方法在较新版本中不可用。

我查找了较旧的API,但我没有在任何已弃用的列表中看到过这些方法。在hbase 0.98中,这些方法不可用。我找不到合适的方法来替换它们。

我的scan.write代码基本上是这样的:

    Scan scan = new Scan();
    scan.addFamily(somefamily);
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    DataOutputStream dos = new DataOutputStream(out);

    try
    {
        scan.write(dos);//this is not available
    }
    catch (IOException e)
    {
        throw new IOException();
    }

    return Base64.encodeBytes(out.toByteArray());

我的scan.readfields代码是这样的:

  ByteArrayInputStream bis = new ByteArrayInputStream(Base64.decode(conf.get(SCAN)));
  DataInputStream dis = new DataInputStream(bis);
  scan = new Scan();
  scan.readFields(dis)

感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:0)

您的问题的答案可以Migrate java code from hbase 0.92 to 0.98.0-hadoop2。此外,您需要添加hbase协议库以访问this.router.navigate(['/userdetails']); ^ ^ 类。