Ho я настраиваю HBase так, чтобы сканер только получил много записей за один раз? Или как я улучшаю сканер, когда база данных содержит много записей /
Я считаю, что сканер фактически запрашивает только один элемент за раз, если вы не настроили кеширование. Чтобы быть уверенным, вы можете проверить это с помощью getCaching ()
. Каждый раз, когда вы вызываете ResultScanner # next (), он будет извлекать следующий элемент. Вы также можете использовать ResultScanner # next (int) для получения нескольких результатов за раз.
При настройке сканера вы можете использовать Scan # setCaching для предварительного получения результатов http://hadoop.apache.org/hbase/docs/r0.20.4/api/org/apache /hadoop/hbase/client/Scan.html#setCaching(int)
Скорее всего, ваш сканер работает медленно, потому что вы читаете только одну запись за раз (что включает в себя все обратные и обратные действия протокола RPC и еще много чего ). Поэтому, если вы собираетесь много читать, позвольте системе заранее кэшировать для вас несколько результатов.
Возможно, вы также захотите изучить API Filter, который позволяет выборочно возвращать клиенту подмножество строк или ячеек: http://hadoop.apache.org/hbase/docs/current/api/org/apache/hadoop/hbase/filter/package-summary.html.