【发布时间】:2014-06-10 19:20:39
【问题描述】:
我正在编写一个通过 [Java HBase 客户端(版本 0.94.16)][1] 与 HBase 通信的 Java 应用程序。在HTable 实例上,我已经将setAutoFlush 设置为false,以便Puts 在每次调用put 方法后被缓冲而不是刷新。我使用这个Put 缓冲区来收集相关数据,以便可以立即调用flushCommits 方法将它们一起刷新。但是在我的应用程序中(在数据收集过程中)存在一种情况,当我发现这些相关数据无法完成时,我想清除已填充的Puts 缓冲区,而不是刷新不完整的数据集。
所以我的问题是:是否有任何有效的方法(在 Java HBase 客户端中)如何清除 HTable 实例的 Puts 缓冲区(丢弃其中的数据)(不刷新)?我知道如何自己实现这个 Puts 缓冲区,但我希望在 Java HBase 客户端范围内看到一些解决方案。感谢您的建议。
【问题讨论】: