我的HBase表包含包含bigint的列 . 那些从Hive声明的bigint,我用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我选择行并看到负值 .
select "p_le_id" from "bulk_1month" where UUID = '00000020-079e-4e9f-800b-e71937a78b5d';
我尝试了几种类型来声明Phoenix中的列 . 它们都不匹配HBase值:
-- BIGINT : -5678131804545731784
-- UNSIGNED INT : 825440565
-- UNSIGNED LONG : 3545240232309044024
-- UNSIGNED_FLOAT : 2.6080447E-9
-- INTEGER : -1.322.043.083
然而,一个有趣的观点是:HBase值为1,395,243,843 . 显示“更相似”值的Phoenix类型是INTEGER .
提前感谢您的建议!
1 回答
我注意到在为数字列使用VARCHAR类型时我可以读取适当的值 .
奇怪的是,来源被宣布为来自Hive方面的bigint类型 .