Как изменить (обновить) значение ключа строки hbase с aaa на bbb, например?
Как я могу изменить значение ключа строки в hbase, этот ключ строки состоит из некоторого столбца в таблице, и все значения не приходят одновременно. после обновления значения столбца я хочу обновить ключ строки, это можно сделать? например, у меня есть столбцы c1, c2, c3, и мое значение uniq в каждой строке равно c1, c2, а ключ строки - c1.value concatenate c2.value. заполнение первой вставки c1 и ключ строки - c1, следующий раз - заполнение c2 для существующей строки (c1), и ключ строки должен установить c1c2 для c1 существующей строки
1 ответ
В Splice Machine (с открытым исходным кодом) мы столкнулись с этой проблемой с помощью обновлений базовой и индексной таблиц в hbase. "Обновление" на самом деле является удалением и вставкой, когда первичный ключ или индексный ключ модифицируется (никак не обойтись). В нашей системе как то так...
создать таблицу foo (col1, col2, первичный ключ (col1)); вставить в значения foo (1,2),(3,4);
обновить набор foo col1 = col2;
Мы удалили строки 1,3 и записали строки 2,4 внутри одной транзакции / буфера.
Надеюсь, что это помогает и удачи.
Вот ссылка на сайт нашего сообщества, если вы хотите посмотреть наш код.