【问题标题】:HBase alter table command fails with "ERROR: d != java.lang.String"HBase alter table 命令失败并显示“错误:d!= java.lang.String”
【发布时间】:2019-11-01 19:56:40
【问题描述】:

HBase alter table 命令失败并显示

错误:d != java.lang.String

,不确定在哪里查看以及如何调试?没有找到任何 HBase 日志。我正在使用 OpenTSDB + Bigtable。 每当我运行改变命令时

hbase(main):005:0> 改变 'test_table', {NAME=>'colFam2', 属性=>'1000'}

我的桌子上写着:

2019 年 11 月 1 日晚上 8:01:42 com.google.bigtable.repackaged.io.grpc.internal.ManagedChannelImpl 信息:[ManagedChannelImpl@4f94e] 使用目标创建 bigtableadmin.googleapis.com:443

错误:d != java.lang.String

以下是此命令的一些帮助:Alter a table。 ...

【问题讨论】:

  • 请在此处添加您的代码,以便更好地获得帮助。
  • 这听起来像是字符串格式的问题。调试 hbase shell 会话非常困难,因为 hbase shell 会抑制调试信息。 dqlgnoleht@,更改代码可以在这里找到:github.com/GoogleCloudPlatform/cloud-bigtable-examples/blob/…。基本上,这是一个Admin.modifyTable 电话。这可能与 OpenTSDB 的旧版本客户端有关,也可能与其他问题有关。

标签: java hbase bigtable opentsdb


【解决方案1】:

如果您发布表结构和精确查询,会更容易理解您做错了什么,但在我看来,这是一个错误

ERROR: d != java.lang.String

被函数抛出

String.format("...%d...", ...); 

当你运行你的改变时。我想您应该键入不带引号的“属性”值

hbase(main):005:0> alter 'test_table', {NAME=>'colFam2', property=>1000}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-24
    • 2018-06-26
    • 2016-12-07
    • 1970-01-01
    • 2021-08-01
    • 1970-01-01
    相关资源
    最近更新 更多