Команда оболочки Hbase с указанным диапазоном времени в качестве ключа строки - PullRequest
2 голосов
/ 12 марта 2019

У меня есть следующая структура данных в таблице hbase,

fb60b40ce747_1552305177484   column=detail:ble_mac, timestamp=1552305177487, value=FB60B40CE747
fb60b40ce747_1552305177484   column=timeline:date_created, timestamp=1552305177487, value=1552305177484                                                              
fb60b40ce747_1552305177484   column=timeline:last_updated, timestamp=1552305177487, value=1552305177484
fb60b40ce747_1552305183307   column=detail:ble_mac, timestamp=1552305183310, value=FB60B40CE747
fb60b40ce747_1552305183307   column=timeline:date_created, timestamp=1552305183310, value=1552305183307                                                              
fb60b40ce747_1552305183307   column=timeline:last_updated, timestamp=1552305183310, value=1552305183307 
fb60b40ce747_1552305194792   column=detail:ble_mac, timestamp=1552305194795, value=FB60B40CE747
fb60b40ce747_1552305194792   column=timeline:date_created, timestamp=1552305194795, value=1552305194792                                                              
fb60b40ce747_1552305194792   column=timeline:last_updated, timestamp=1552305194795, value=1552305194792

Я пытаюсь извлечь подробности, указав временной диапазон (т. Е. MAC Address_TimeStamp, который является ключевой строкой здесь).Я использовал следующую команду оболочки hbase,

scan 'mindlogic:ble_log',{STARTROW => 'fb60b40ce747_1552305120484', ENDROW => 'fb60b40ce747_1552305204792',LIMIT=>1}

Проблема с этой командой заключается в том, что я не могу извлечь самую последнюю запись.Здесь самая последняя запись: "fb60b40ce747_1552305194792"

Я пробовал с другой командой, которая

scan 'mindlogic:ble_log',{LIMIT => 1,FILTER => "SingleColumnValueFilter('detail','ble_mac',=, 'binary:FB60B40CE747') AND SingleColumnValueFilter('timeline','last_updated',>=, 'binary:1552305120484') AND SingleColumnValueFilter('timeline','last_updated',<=, 'binary:1552305204792')"}

Теперь мой вопрос, как получить результат, как показано ниже,

Expected Output :-
fb60b40ce747_1552305194792   column=detail:ble_mac, timestamp=1552305194795, value=FB60B40CE747
fb60b40ce747_1552305194792   column=timeline:date_created, timestamp=1552305194795, value=1552305194792                                                              
fb60b40ce747_1552305194792   column=timeline:last_updated, timestamp=1552305194795, value=1552305194792

1 Ответ

0 голосов
/ 19 марта 2019

Параметры сортировки невозможны в оболочке HBase. Если вы хотите получить последние записи, вы можете использовать обратную метку времени (Long.MAX_VALUE-timestamp) в своем ключе строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...