国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

hive修改MySQL里的元數據刪除分區

2024-07-24 13:00:17
字體:
來源:轉載
供稿:網友

正常分區 PRovince_id=125 動態分區時產生的錯誤分區(因為有特殊字符,不能直接用hive語句刪除) province_id=%2Ffile.cdn.mvideo.xiaomi.com%2Fmobilevideo%2F10001%2F1%2F1d1f7ca81b61a497c1b216b0753dc345.apk

解決方法

1 進入hive使用的MySQL 2 切換為hive數據庫

mysql> use hive;

3 查詢相關表

mysql> SELECT * FROM TBLS WHERE TBL_NAME='o_cu_pm_userdev_url';

結果 這里寫圖片描述 發現出現兩條記錄,因為表名有相同的,所以使用TBLS表的SD_ID字段去SDS表查詢LOCATION字段的值,通過LOCATION字段,就可以知道o_cu_pm_userdev_url這張表的數據庫,TBLS中TBL_ID為70的這行記錄就是我要查詢的表的ID

mysql> select * from SDS where SD_ID=639;

這里寫圖片描述

接下來,要根據TBLS表的TBL_ID和hive表分區字段的值(模糊查詢)去PARTITIONS表查詢,需要得到PARTITIONS表的PART_ID的值(202354)

mysql> select * from PARTITIONS t where t.tbl_id=70 and PART_NAME like '%cdn.mvideo.xiaomi.com%';

結果 這里寫圖片描述

最后,通過TBLS表的TBL_ID(70)和PARTITIONS表的PART_ID(202354)就可以刪除hive的分區了

mysql> delete from PARTITION_KEY_VALS where part_id=202354;Query OK, 6 rows affected (0.01 sec)mysql> delete from PARTITION_PARAMS where part_id=202354;Query OK, 6 rows affected (0.00 sec)mysql> delete from PARTITIONS where tbl_id=70 and part_id=202354;Query OK, 1 row affected (0.01 sec)

4 刪除HDFS上分區對應的目錄【Hive外部表需要此操作】(目錄要用雙引號括起來,因為目錄里有特殊字符)

hdfs dfs -rm -r "/user/hive/bigdata/o_cu_pm_userdev_urlprovince_id=%2Ffile.cdn.mvideo.xiaomi.com%2Fmobilevideo%2F10001%2F1%2F1d1f7ca81b61a497c1b216b0753dc345.apk"
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宁波市| 衢州市| 灵石县| 富民县| 博白县| 福泉市| 巴里| 布拖县| 正定县| 依安县| 北票市| 洛浦县| 科技| 乌拉特后旗| 抚州市| 乐山市| 遂溪县| 鸡东县| 鹿泉市| 平远县| 陆河县| 洛隆县| 清徐县| 安康市| 大石桥市| 自治县| 屏山县| 特克斯县| 苍南县| 拉孜县| 腾冲县| 静乐县| 平安县| 神池县| 丰顺县| 砚山县| 曲靖市| 宜宾县| 金沙县| 克东县| 宜宾县|