Мой запрос на улей Truncate table tablename
занимает слишком много времени.Определение таблицы имеет следующие свойства:
CLUSTERED BY(field1) INTO 2 BUCKETS
STORED AS ORC TBLPROPERTIES('transactional'='true');
Данные в таблице могут содержать только 20-30 тыс. Строк.
ACID транзакции разрешены.
set hive.support.concurrency=true;
set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager;
set hive.enforce.bucketing=true;
set hive.exec.dynamic.partition.mode=nostrict;
set hive.compactor.initiator.on=true;
set hive.compactor.worker.threads=1;
После долгого ожидания.Выдает ошибку, как показано ниже
FAILED: Error in acquiring locks: Lock acquisition for
LockRequest(component:[LockComponent(type:EXCLUSIVE, level:TABLE, dbname:db1,
tablename:tbl1, operationType:NO_TXN, isAcid:true)], txnid:0, user:xyz,
hostname:host123, agentInfo:xyz_20190310220349_62d794b8-3166-4049-b9f9-646e40f1d344) timed out after 5503335ms. LockResponse(lockid:5563,
state:WAITING)
Но никакой другой пользователь или задание не использует эту таблицу.Чтобы ждать блокировки.В чем еще причина ожидания?
Также запрос вставки был выполнен непосредственно перед усечением (для определенного условия).