在HBase中,当设置max version参数时,它具体做什么?

在HBase中,当设置max version参数时,它具体做什么?,hbase,hbasetestingutility,Hbase,Hbasetestingutility,我正在做一个内存中的模拟HTable。我将我的HTable与小型集群的HTable进行了比较。迷你集群是用于HBase应用程序测试的,我在这里使用它来获得一些标准结果。在迷你集群中,有一个 HBaseTestingUtility.createTable(字节[]表名,字节[]系列,整数版本) api。当numVersions设置时 HTable.get(get) 将返回最多numVersions版本的结果,即使Get中的maxVersion参数设置为大于numVersions。如果未设置参数,则

我正在做一个内存中的模拟HTable。我将我的HTable与小型集群的HTable进行了比较。迷你集群是用于HBase应用程序测试的,我在这里使用它来获得一些标准结果。在迷你集群中,有一个

HBaseTestingUtility.createTable(字节[]表名,字节[]系列,整数版本)

api。当numVersions设置时

HTable.get(get)


将返回最多numVersions版本的结果,即使Get中的maxVersion参数设置为大于numVersions。如果未设置参数,则默认值为1。但在其他一些测试中,我发现事实上,当numVersions为1时会保存很多版本。所以我想知道当numVersions被精确设置时会发生什么。

'numVersions'设置主要压缩后最大剩余行数。换句话说,可以保存行的更多版本,但这些版本将被安排进行清理。这些行仍然存在,但可能不会被读取,因为这样会产生不可靠的行为。

'numVersions'设置主要压缩后最大剩余行数。换句话说,可以保存行的更多版本,但这些版本将被安排进行清理。这些行仍然存在,但可能不会被读取,因为这样会产生不可靠的行为。

谢谢您的回答。我从来没有使用过压缩相关的API,所以还有一个问题:这是否意味着如果涉及一些压缩操作,“numVersions”之外的版本会被清除,如果没有,那么当这些新版本被删除时,“numVersions”之外的版本会进入内部?这是一个很好的问题,我目前还没有答案。你能单独问一个问题吗?然后让我知道我可能会在hbase代码中找到答案。我怀疑在压缩之前,如果以后的其他版本被删除,版本可能会从外部返回内部,但可以肯定的是,这需要我不具备的深入知识,或者我可能会花时间去挖掘。顺便说一句,没有必要使用压缩api。这是hbase定期自动执行的操作。很高兴读一读,谢谢你的回答。我从来没有使用过压缩相关的API,所以还有一个问题:这是否意味着如果涉及一些压缩操作,“numVersions”之外的版本会被清除,如果没有,那么当这些新版本被删除时,“numVersions”之外的版本会进入内部?这是一个很好的问题,我目前还没有答案。你能单独问一个问题吗?然后让我知道我可能会在hbase代码中找到答案。我怀疑在压缩之前,如果以后的其他版本被删除,版本可能会从外部返回内部,但可以肯定的是,这需要我不具备的深入知识,或者我可能会花时间去挖掘。顺便说一句,没有必要使用压缩api。这是hbase定期自动执行的操作。读一点这方面的东西很好。