HBase alter table 命令失败并显示“错误:d!= java.lang.String”

Posted

技术标签:

【中文标题】HBase alter table 命令失败并显示“错误:d!= java.lang.String”【英文标题】:HBase alter table command fails with "ERROR: 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 的旧版本客户端有关,也可能与其他问题有关。 【参考方案1】:

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

ERROR: d != java.lang.String

被函数抛出

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

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

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

【讨论】:

以上是关于HBase alter table 命令失败并显示“错误:d!= java.lang.String”的主要内容,如果未能解决你的问题,请参考以下文章

ALTER TABLE DROP COLUMN 失败,因为一个或多个对象访问此列

MVC - ALTER TABLE DROP COLUMN 失败,因为一个或多个对象访问此列

mysql alter table修改表命令整理

Alter Table 在 MS Access 64 位下不起作用。为啥?

PostgreSQL ALTER TABLE 命令

PostgreSQL ALTER TABLE 命令