Hbase 在凤凰城将Varchar转换为整数

Hbase 在凤凰城将Varchar转换为整数,hbase,phoenix,Hbase,Phoenix,我已经创建了Hbase表EMP,其中列族f1和ID作为行键,名称作为另一个列字段 当我在Hbase表顶部创建Phoenix视图时 创建视图EMP(ID整数非空主键,名称VARCHAR(40));然后运行选择状态,Phoenix视图显示ID列的负值。 Hbase中的实际值类似于 101,102,103... 但当我在凤凰城运行“从EMP选择id”时,我得到的值如下 -101 -102 -103 我尝试将ID的数据类型从整数更改为未分配的整数,这完全改变了ID的实际值。 它是 32423 23429

我已经创建了Hbase表EMP,其中列族f1和ID作为行键,名称作为另一个列字段

当我在Hbase表顶部创建Phoenix视图时

创建视图EMP(ID整数非空主键,名称VARCHAR(40));然后运行选择状态,Phoenix视图显示ID列的负值。 Hbase中的实际值类似于 101,102,103... 但当我在凤凰城运行“从EMP选择id”时,我得到的值如下 -101 -102 -103

我尝试将ID的数据类型从整数更改为未分配的整数,这完全改变了ID的实际值。 它是 32423 23429 12432

您能否建议如何将Phoenix中的主键定义为数值,而不是varchar,因为我将对其执行Sum(id),Sum()对varchar不起作用

我还尝试在Phoenix中使用Cast函数,但该函数无法将Varchar转换为整数

谢谢,
阿披实如何将数据加载到现有的HBase表中?如果非文本(int、float等)值是使用十六进制byte[]格式和\x escape进行序列化的,那么您可能希望尝试为这些值创建带有UNSIGNED_int或UNSIGNED_float字段的Phoenix表/视图。

这不起作用,至少在我的情况下,我有一个类似问题: