HBase scan возвращает отсортированные столбцы? - PullRequest
2 голосов
/ 28 июня 2011

Я работаю над картой сокращения HBase и должен понять, возвращаются ли столбцы в одном семействе столбцов, отсортированные по их именам (ключ).Если это так, мне не нужно было бы делать это на этапе сортировки в случайном порядке.

Спасибо

Ответы [ 2 ]

1 голос
/ 27 декабря 2011

У меня очень похожая модель данных, как у вас.Однако после вставки я установил свои собственные значения для отметок времени объекта Put.Однако я сделал это таким образом, чтобы взять «начальное число» текущего времени и добавить счетчик приращений для каждого события, которое я сохранил в пакете.

Когда я вытащил результаты из сканирования, я написал компаратор:

public class KVTimestampComparator implements Comparator<KeyValue> {

    @Override
    public int compare(KeyValue kv1, KeyValue kv2) {
        Long kv1Timestamp = kv1.getTimestamp();
        Long kv2Timestamp = kv2.getTimestamp();

        return kv1Timestamp.compareTo(kv2Timestamp);
    }
}

Затем отсортировал строку:

List<KeyValue> row = Arrays.asList(result.raw());
Collections.sort(row, new KVTimestampComparator());

Получил эту идею от человекакто ответил на это: Сортировка результатов со сканера hbase

0 голосов
/ 29 июня 2011

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

...