从凤凰为HBase获得不一致的行数

时间:2016-04-26 19:12:44

标签: hbase phoenix

我们正面临凤凰城和凤凰城的奇怪问题。 HBase的。我们有MR程序在HBAse表中加载数据。我们使用Phoenix来插入和读取HBase中的数据。问题是在数据加载后,特定表匹配的计数与我们在提取中得到的数量相匹配。我们指向我们的API应用程序,之后当我们在Hbase表上触发相同的select count语句时,计数增加,我们开始看到重复的值。是否有人遇到一致性问题,数据是通过Phoenix从Hbase中提取的?我们有凤凰4.7版

此致 Sagar的

4 个答案:

答案 0 :(得分:1)

只需删除phoenix中system.stats表中的记录,删除不一致的行例如:

delete from system.stats where physical_name='CUST.PROFILE';

CUST.PROFILE

中获取原始行数

答案 1 :(得分:0)

这是一个古老的问题,但是我们在开发环境中发现问题的唯一与远程相关的Google结果。

HBase会为表返回x,000行的计数,而Phoenix会返回(差不多但不完全)大约两倍的结果。特定的主键查询总是返回一行,但有时(但不总是)返回重复的前导行键部分的过滤。

您可以在Apache Phoenix User Mailing List here上看到帮助请求。

我们最终通过删除所有SYSTEM.*表来解决这个问题,原因很简单,因为除了凤凰本身的一个错误之外,我们将其缩小为我们设置的唯一可能问题。重新启动Apache HBase和Apache Phoenix然后重新生成这些表。

在那之后,一切都很好:)

答案 2 :(得分:0)

我也遇到过凤凰版4.7的相同问题,其中凤凰行数不一致。我已经在桌面上运行了更新统计信息,但这并没有帮助解决问题。但问题是通过在问题表上运行压缩来解决的。行数统计后是一致的。

答案 3 :(得分:0)

我们在凤凰城创建表时明确给出了预拆分。 在评论该代码后,我们的问题得到了解决。