hive误删除表,异常停止进程

1报错

- Failed with exception Unable to alter partition. Put request failed : UPDATE `PARTITION_PARAMS` SET `PARAM_VALUE` = ? WHERE `PART_ID`=? AND `PARAM_KEY`=?
 INFO - FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask. Unable to alter partition. Put request failed : UPDATE `PARTITION_PARAMS` SET `PARAM_VALUE` = ? WHERE `PART_ID`=? AND `PARAM_KEY`=?
 INFO - MapReduce Jobs Launched: 

2 将hdfs数据复制到另外一个地址
3 进入mysql删除表数据
参考https://blog.csdn.net/qq_36459386/article/details/86762649#_56

查看被锁的进程

SELECT * FROM information_schema.INNODB_TRX;

kill 较长时间未提交事物的进程
kill trx_mysql_thread_id

从元数据删除Hive的表需要得到五个ID.
TBL_ID:表ID
SD_ID :序列化配置信息
CD_ID:字段信息ID
PART_ID:分区ID
SERDE_ID:序列化类ID

mysql> select * from tbls where tbl_name='dm_ssp_device_box_app_flow_analysis_info';

TBL_ID='19222431';

SD_ID='54828606';
mysql> select * from sds where sd_id='54828606';
CD_ID='21143439';
SERDE_ID='54828606'

mysql> select * from partitions where tbl_id='19222431';
PART_ID

delete from partition_key_vals where part_id in (select part_id from partitions where tbl_id='19222431');


delete from partition_params where part_id in (select part_id from partitions where tbl_id='19222431');

delete from partitions where tbl_id='19222431';


delete from partition_keys where tbl_id='19222431';


delete from table_params where tbl_id='19222431';

mysql> delete from tbl_privs where tbl_id='19222431';


delete from tbls where tbl_id='19222431';

将拷贝的目录文件重新拷贝回来

hive 强制删除整个数据库

drop DATABASE IF EXISTS 数据库名 CASCADE;
```
cascade 表示强制删除
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值