Как использовать команду сканирования hbase-shell при хешировании ключа строки - PullRequest
0 голосов
/ 16 января 2019

Как вы используете команду сканирования оболочки hbase при хэшировании вашего ключа строки?

У меня есть фиктивный экземпляр, работающий в песочнице (где ключ строки не хэширован) со следующей командой.

    scan 'tableName' , {ROWPREFIXFILTER => 'myrowStartValue'}

и это работает.Однако для реального экземпляра ключ строки хэшируется.Как это решить?

Ответы [ 2 ]

0 голосов
/ 21 января 2019

Я ожидаю иметь только одну запись, но это может быть диапазон.

scan 'mytablename',{FILTER=>org.apache.hadoop.hbase.filter.PrefixFilter.new(org.apache.hadoop.hbase.util.Bytes.toBytes(org.apache.hadoop.hbase.util.MD5Hash.getMD5AsHex(org.apache.hadoop.hbase.util.Bytes.toBytes('somekeyvalueprefix'))))}

Я обнаружил, что мы можем использовать классы hbase в командной строке. Однако я не получил ожидаемого значения.

0 голосов
/ 21 января 2019

Ожидаете ли вы возврата диапазона ключей? После того, как они хешированы, они больше не будут упорядочены так, как вы ожидаете, и поэтому сканирование может не выполнить то, что вы ожидаете. Боюсь, вам придется вручную хэшировать любые ключи, которые вы хотите получить заранее - оболочка HBase не может сделать это за вас.

...