
# 通过Hive beeline命令行执行插入命令的时候报错
#### 问题现象
在MRS Hive的beeline中执行**insert into**插入语句时系统报以下错误：
```
Mapping run in Tez on Hive transactional table fails when data volume is high with error: "org.apache.hadoop.hive.ql.lockmgr.LockException Reason: Transaction... already aborted, Hive SQL state [42000]."
```
#### 原因分析
对于Join操作，由于集群配置不理想和Tez资源设置不合理导致该问题。
#### 处理步骤
可以在beeline上设置配置参数进行解决。
1. 设置以下属性以优化性能（建议在集群级别进行更改） 
   - 设置hive.auto.convert.sortmerge.join = true
   
   - 设置hive.optimize.bucketmapjoin = true
   
   - 设置hive.optimize.bucketmapjoin.sortedmerge = true
   
   
   
   
2. 更改以下内容以调整Tez的资源。 
   - 设置hive.tez.container.size = {与YARN容器相同的大小}
   
   - 将hive.tez.container.size设置为与YARN容器大小"yarn.scheduler.minimum-allocation-mb"相同或更小的值（例如设置为二分之一或四分之一的值），但不要超过"yarn.scheduler.maximum-allocation-mb"参数值。
   
   
   
   
 
