#hive #transactions #hbase #acid
#улей #транзакции #hbase #acid
Вопрос:
как https://cwiki.apache.org/confluence/display/Hive/Hive Transactions говорит, что Hive поддерживает некоторые ограниченные транзакции ACID. ИТАК, если мне просто нужны транзакции на уровне строк, достаточно ли Hive? Преимущества HBase становятся все меньше и меньше?
Спасибо.
Ответ №1:
В HBase можно выполнять транзакции ACID с помощью Apache Phoenix, слоя для HBase, который предоставляет интерфейс SQL для обработки данных.
Чтобы использовать транзакции, после установки Phoenix вы устанавливаете свойство phoenix.transactions.enabled
true
в hbase-site.xml , затем используйте эту TRANSACTIONAL
опцию при создании своей таблицы. Например:
CREATE TABLE my_table (id INTEGER PRIMARY KEY, val VARCHAR) TRANSACTIONAL=true;
После этого вы просто взаимодействуете со своей таблицей обычным образом, с SQL через JDBC или другой интерфейс. (Обратите внимание, что вы также можете изменить существующую нетранзакционную таблицу на транзакционную.)
Подробнее о Phoenix и его поддержке транзакций вы можете прочитать на веб-сайте проекта: