【发布时间】:2023-03-24 04:39:01
【问题描述】:
我是 HIVE 的新手。现在我有一个 .csv 文件,其中包含要附加到 HIVE 数据库中的表的数据。但是当我运行命令:load data inpath /path/to/file into table T1 并等待很长时间时,抛出异常:“获取锁时出错:无法获取底层对象的锁。一段时间后重试”。这些 SQL 查询都需要很长的时间(可能 1~2 小时)才能返回结果。
我通过show locks T1 extended检查了这个表T1中的锁,我发现一些查询在同一个表上运行:
T1: SHARED
LOCK_QUERYID:hive_20211203..... (omitted)
LOCK_TIME:1638512103766
LOCK_MODE:IMPLICIT
LOCK_QUERYSTRING: ... (a SQL query involved in table T1)
... (other queries like above)
我查看了HIVE的配置:
SELECT VERSION() -> 2.1.1-cdh6.2.1 r0a45... (omitted)
SET hive.lock.numretries -> 100
SET hive.unlock.numretries -> 10
SET hive.lock.sleep.between.retries -> 60s
SET hive.txn.manager -> org.apache.hadoop.hive.ql.lockmgr.DummyTxnManager
SET hive.support.concurrency -> true
该表是内部表 (MANAGED_TABLE),而不是分区表。
我的问题是,当查询在同一个表上运行时,如何成功地将数据加载到表中。
【问题讨论】:
标签: hive