暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

hive 分区中存在中文导致表删除不掉处理方案

庶说大数据 2021-07-14
1418

在实际项目中,修改原来的表结构,增加一个交易类型字段作为组合分区,由于是BI展示的表,交易类型实际存储的是中文,而且是已经投入使用的表,不能重新修改表名。


 1.查看表分区结构如下:

    show partitions ads_mk_coupon_receive_use_info;


    2.尝试通过删表,然后一直卡着没有任何反应,然后删除第一个分区,显示是成功的,但是结果并没有删除掉:


      alter table ads_mk_coupon_receive_use_info drop partition(ds_dt='2020-12-01');

      3.删除所有的表下的hdfs文件,然后再删除表还是没有反应

       Hadoop fs -rm -R 路径

      4.删除MYSQL元数据

      4.1 查看表ID

        SELECT * FROM TBLS WHERE TBL_NAME='ads_mk_coupon_receive_use_info';

        4.2 查看分区

           select * from PARTITIONS t where t.tbl_id='7488';

          4.3 查看分区对应的值

            select * from PARTITION_KEY_VALS where part_id=100252;

            4.4 删除元数据

              delete from PARTITION_KEY_VALS where part_id=100252;
              delete from PARTITION_PARAMS where part_id =100252
              delete from PARTITIONS where tbl_id=7488;

              5.重新查看分区:

                 show partitions ads_mk_coupon_receive_use_info;

                 


                >特别感谢williamdev https://blog.csdn.net/fg654748861/article/details/46123887

                文章转载自庶说大数据,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                评论