Pemindaian awalan baris HBASE dalam urutan terbalik di hbase

Saya memiliki kunci baris dalam bentuk:

<name>--<zero-padded timestamp>

Menggunakan shell HBASE saya ingin mencari 15 entri terakhir dengan awalan.

scan 'mytable', {LIMIT => 15, ROWPREFIXFILTER => 'name' }

Memberi saya 15 yang pertama, tetapi:

scan 'mytable', {LIMIT => 15, REVERSED => TRUE, ROWPREFIXFILTER => 'name'}

mengembalikan hasil nol...

Apa sintaks untuk permintaan seperti itu?

Apakah mungkin, atau apakah saya harus melakukan sesuatu yang murahan seperti menggunakan stempel waktu MAXINT sebagai kunci baris saya untuk membalikkan urutan kunci secara manual?


person tanbog    schedule 29.09.2016    source sumber
comment
HBase versi berapa? Bisakah Anda menunjukkan kepada kami beberapa contoh data dari tabel Anda?   -  person Marsellus Wallace    schedule 29.09.2016
comment
VERSI 1.2.2. Datanya hanyalah entri log. Saya ingin menariknya keluar dalam urutan stempel waktu terbalik.   -  person tanbog    schedule 01.10.2016


Jawaban (2)


Saya dapat menjalankan perintah kueri Anda di lingkungan shell HBase, dan mendapatkan hasil yang diharapkan. Tetapi tidak dapat memperoleh hasil apa pun dengan menggunakan Klien Java. Versi HBase saya adalah 0,98.

Ada bug saat menggunakan pemindaian klien HBase dengan reversed = true, lihat masalah jira ini hbase-client: pemindai dengan reversed=true dan small=true tidak mendapatkan hasil

person Armstrongya    schedule 18.10.2016

Ya, saya mereproduksi masalah ini, dan hasilnya sama.

Solusi yang saya gunakan adalah mengubah ROWPREFILTER menjadi STARTROW dan ENDROW.

person Quinton Hsu    schedule 25.01.2019