Вкратце: можно ли обновить метку времени строки, если она существует?
Можно ли заставить HBase работать в режиме LRU? Я имею в виду, что если строка существует в HBase, я хочу обновить ее временную метку.
Я знаю, что могу вызвать данные создания, если они не существуют (например, this), но я ищу обратное, обновляя данные (в частности, метку времени), если данные существуют
Причина, по которой я хочу это сделать, заключается в том, что я работаю над компонентом, который использует HBase в качестве кеша для URL-адресов и их содержимого, таким образом, когда поступает новый запрос на URL-адрес, я хочу проверить, существует ли уже контент и существует ли он. хочу ли я обновить его временную метку, иначе контента не существует, и я хочу пойти и получить его. Причина, по которой мне нужна временная метка, связана с другой стороной этой программы, где у меня есть компонент, который считывает все URL-адреса, полученные за последний день, поэтому мне также нужно обновить эту временную метку.
заранее спасибо
checkAndMutate
. Он должен быть доступен вhbase
0.98.7+ - person Shyam   schedule 26.02.2016checkAndMutate
, чтобы оно было истинным, если столбец существует. (Проверка существования не так прямолинейна). * РЕДАКТИРОВАТЬ: * Правильно ли я понял дело,if(exists) "update ts" else "do something else and then update row"
? - person Shyam   schedule 29.02.2016if (exists) "update ts" else "do a lot of other things that will eventually create the row"
- я как бы пытаюсь использовать его как кэш LRU (с отметкой времени). Должен ли я отредактировать свой вопрос, если он недостаточно ясен? - person Gideon   schedule 29.02.2016checkAndMutate
в этом случае будет злоупотреблением API. (Есть обсуждение его поведения здесь). Было предложение улучшить API AtomicOps, но оно так и не было реализовано. Я думаю, что пока лучше остановиться наif(table.exists(Get)) { new Put; }
. - person Shyam   schedule 02.03.2016