конфигурации (Hortonworks)Hive: приобретать явный монопольную блокировку
- улей: BUILD улей-1.2.1.2.3.0.0
- Hadoop 2.7.1.2.3.0.0-2557
Я пытаюсь выполнить
lock table event_metadata EXCLUSIVE;
улей ответ:
Ошибка при обработке инструкции: FAILED: Ошибка выполнения, код возврата 1 из org.apache.hadoop.hive.ql.exec.DDLTask. Текущий менеджер транзакций не поддерживает явные запросы блокировки. Менеджер транзакций: org.apache.hadoop.hive.ql.lockmgr.DbTxnManager
В коде есть очевидное место, где явные блокировки отключены: http://grepcode.com/file/repo1.maven.org/maven2/org.apache.hive/hive-exec/1.2.0/org/apache/hadoop/hive/ql/lockmgr/DbTxnManager.java#DbTxnManager
321 @Override
322 public boolean supportsExplicitLock() {
323 return false;
324 }
Вопросы:
как я могу сделать явные блокировки? В какой версии улья они появляются?
Ниже приведен пример http://www.ericlin.me/how-table-locking-works-in-hive для cloudera, в котором работают явные блокировки.
Спасибо за ответ. К сожалению, у меня уже есть все настройки в hive-site.xml – Natalia
DummyTxnManager, который обеспечивает поведение по умолчанию, имеет '@Override public boolean поддерживаетExplicitLock() { return true; } 'https://github.com/apache/hive/blob/86f7af66f03a5b467709a9845d07430b2d729d28/ql/src/java/org/apache/hadoop/hive/ql/lockmgr/DummyTxnManager.java – Vinkal
BTW, я тестировал то же самое на своем cloudera VM. эксклюзивный замок работает хорошо. 'Hive version - Hive 1.1.0-cdh5.4.2' – Vinkal