Phoenix视图没有正确读取HBase数值

时间:2015-04-09 13:48:39

标签: hadoop hbase phoenix

我的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
...

从凤凰城我选择行并看到负值。

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。凤凰型显示"更相似"值是INTEGER。

提前感谢您的建议!

1 个答案:

答案 0 :(得分:2)

我注意到在为数字列使用VARCHAR类型时我可以读取适当的值。

奇怪的是,来源被宣布为来自Hive方面的bigint类型。