gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 10:53:22 29 4
gpt4 key购买 nike

我是 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)

感谢任何帮助,谢谢。

最佳答案

您的问题已有答案 Migrate java code from hbase 0.92 to 0.98.0-hadoop2 。另外,需要添加hbase-protocol库才能访问org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Scan类。

关于java - 某些方法在较新版本的 Hbase Scan 类中不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47569119/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com