Phoenix 视图未正确读取 HBase 数值
Phoenix view not reading HBase numerical values properly
我的 HBase table 有包含 bigint 的列。那些从 Hive 声明的 bigints,我用 Hive 来 generate all HBase's HFiles for bulk loading.
从 HBase shell 我可以打印该行并查看适当的整数值:
...
00000020-079e-4e9f-800b-e71937a78b5d column=cf:p_le_id, timestamp=1428571993408, value=1395243843
...
来自 Phoenix I select 行并看到一个负值。
select "p_le_id" from "bulk_1month" where UUID = '00000020-079e-4e9f-800b-e71937a78b5d';
我尝试了几种类型来声明 Phoenix 中的列。 None 个匹配 HBase 值:
-- BIGINT : -5678131804545731784
-- UNSIGNED INT : 825440565
-- UNSIGNED LONG : 3545240232309044024
-- UNSIGNED_FLOAT : 2.6080447E-9
-- INTEGER : -1.322.043.083
不过有一点很有趣:HBase 的值为 1,395,243,843。显示 "more similar" 值的 Phoenix 类型是 INTEGER。
提前感谢您的建议!
我注意到当对数字列使用 VARCHAR 类型时我可以读取适当的值。
这很奇怪,因为从 Hive 端将源声明为 bigint 类型。
我的 HBase table 有包含 bigint 的列。那些从 Hive 声明的 bigints,我用 Hive 来 generate all HBase's HFiles for bulk loading.
从 HBase shell 我可以打印该行并查看适当的整数值:
...
00000020-079e-4e9f-800b-e71937a78b5d column=cf:p_le_id, timestamp=1428571993408, value=1395243843
...
来自 Phoenix I select 行并看到一个负值。
select "p_le_id" from "bulk_1month" where UUID = '00000020-079e-4e9f-800b-e71937a78b5d';
我尝试了几种类型来声明 Phoenix 中的列。 None 个匹配 HBase 值:
-- BIGINT : -5678131804545731784
-- UNSIGNED INT : 825440565
-- UNSIGNED LONG : 3545240232309044024
-- UNSIGNED_FLOAT : 2.6080447E-9
-- INTEGER : -1.322.043.083
不过有一点很有趣:HBase 的值为 1,395,243,843。显示 "more similar" 值的 Phoenix 类型是 INTEGER。
提前感谢您的建议!
我注意到当对数字列使用 VARCHAR 类型时我可以读取适当的值。
这很奇怪,因为从 Hive 端将源声明为 bigint 类型。