2016-09-23 172 views
2

有没有可能限制查询对Hbase集群的影响?如何减少对Hbase群集的全表扫描影响?

如果是,需要实现什么?

我需要kerberos来识别用户并限制他们的查询的影响或为他们分配资源吗?

来自phoenix的差查询可以杀死整个Hbase集群,而这是我真正想要改变的。我将非常感谢此主题中的任何提示。

回答

2

在我们的2.0之前的版本中运行OLAP查询时,我们在Splice Machine上遇到类似的问题。在2.0中,我们引入了一个在Spark上实现的新执行引擎,该引擎使用混合扫描程序直接从HFile中读取数据,并将其与来自HBase Memstore的数据合并,从而使我们能够将这种大型扫描对区域服务器的影响降至最低,因为我们只访问HBase的内存数据。

您可以查看我们如何在our repository中实施它。主要课程是SplitRegionScannerMemstoreAwareObserver

+1

出于好奇:您如何确保HFiles在Spark查询期间保持一致 - 通过HBase快照? –

+1

@SamsonScharfrichter我们使用一个协处理器(前面链接的MemstoreAwareObserver)来确保我们的扫描是一致的。如果压缩或分割正在运行(几毫秒),则会延迟扫描,并在扫描在该区域中运行时阻止压缩/分割。 –