Hive基本操做html
Hive 解鎖操做 數據庫
以前使用Hive,出現過一種狀況:在代碼正在執行insert into或insert overwrite時,中途手動將程序停掉,會出現卡死狀況,只能執行查詢操做,而drop insert操做均不可操做,不管執行多久,都會保持卡死狀態,問同事有人遇到過,可是他的解決辦法是……把表名換一個……
後來廢了九牛二虎之力,終於找到了一篇靠譜的博客,是說hive表被鎖,須要解鎖後,方可操做。
hive鎖
這兩篇文章解決了當時沒有分區表的鎖問題,可是……前幾天,問題又來了,在etl過程當中,因爲全表全量覆蓋,因爲各類緣由,沒有按時操做成功,那麼在使用這張表的時候就會出現表被鎖,卡死狀態,如果關鍵業務表,那麼相關業務任務均會受到牽連。後,可是問題是,以前鎖的都是整張表,而這次死鎖還包括分區shared鎖,以前並無看到過,百度了一通,一條分區相關解鎖的結果都沒有找到,最後……求助Google,慶幸的是,真的有結果,提供瞭解鎖分區鎖的方法:
Hive Unlock All Partitionspost
unlock table your_table partition(dt='2014-04-01');
Hive drop table table_name一直卡死狀態大數據
查看數據庫的自讀編碼集url
use hive;spa
show variables like '%char%';.net
改變hive元數據存儲數據庫的字符編碼集;code
alter database hive character set latin1;htm