国产探花免费观看_亚洲丰满少妇自慰呻吟_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"
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 革吉县| 郴州市| 海晏县| 遂宁市| 吉安县| 称多县| 银川市| 咸丰县| 德江县| 龙川县| 随州市| 安远县| 东山县| 广德县| 新干县| 白沙| 枝江市| 平乐县| 湘潭县| 岳西县| 易门县| 博湖县| 普宁市| 辽阳市| 华阴市| 泰安市| 崇信县| 丹寨县| 西安市| 丹棱县| 新竹市| 沭阳县| 汨罗市| 沁源县| 淄博市| 师宗县| 天气| 门源| 沧州市| 镇宁| 玉溪市|