HBase中设置max version参数时,具体是做什么的?
In HBase, when max version parameter set, what does it do exactly?
我正在内存中处理模拟 HTable。我将我的 HTable 与 mini-cluster 的 HTable 进行了比较。 Mini-cluster 是用于 HBase 应用程序测试的东西,我在这里使用它来获得一些标准结果。在迷你集群中,有一个
HBaseTestingUtility.createTable(byte[] tableName, byte[] family, int numVersions)
api。当 numVersions 设置时,
HTable.get(Get)
将 return 至多 numVersions 个版本的结果,即使 Get 中的 maxVersion 参数设置大于 numVersions。如果不设置参数,则默认值为1。但是在其他一些测试中,我发现实际上当numVersions为1时保存了很多版本。所以我想知道当numVersions设置准确时会发生什么。
'numVersions' 设置主要压缩后保留的最大行数。换句话说,一行的更多版本可能会被保存,但那些会被安排清理。这些行仍然存在,但可能无法读取,因为这会产生不可靠的行为。
我正在内存中处理模拟 HTable。我将我的 HTable 与 mini-cluster 的 HTable 进行了比较。 Mini-cluster 是用于 HBase 应用程序测试的东西,我在这里使用它来获得一些标准结果。在迷你集群中,有一个
HBaseTestingUtility.createTable(byte[] tableName, byte[] family, int numVersions)
api。当 numVersions 设置时,
HTable.get(Get)
将 return 至多 numVersions 个版本的结果,即使 Get 中的 maxVersion 参数设置大于 numVersions。如果不设置参数,则默认值为1。但是在其他一些测试中,我发现实际上当numVersions为1时保存了很多版本。所以我想知道当numVersions设置准确时会发生什么。
'numVersions' 设置主要压缩后保留的最大行数。换句话说,一行的更多版本可能会被保存,但那些会被安排清理。这些行仍然存在,但可能无法读取,因为这会产生不可靠的行为。