Hive 保护模式
使用Hive自管理的表的時(shí)候都擔(dān)心如果誤drop了表怎么辦,因此Hive除了外部表的方式還提供了一個(gè)功能:ProtectMode(保護(hù)模式).
細(xì)心的同學(xué)會(huì)發(fā)現(xiàn)文檔里其實(shí)提到過(guò)alter table enable/disable no_drop/offline
(https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL),其中no_drop禁止直接drop table而offline是禁止表被讀取.其實(shí)這些過(guò)能在Hive里被稱為ProtectMode.
查看源碼是支持四種模式:
| 1 2 3 4 | publicstaticString FLAG_OFFLINE=?"OFFLINE";//禁止讀 publicstaticString FLAG_NO_DROP=?"NO_DROP";//不許刪除表 publicstaticString FLAG_NO_DROP_CASCADE =?"NO_DROP_CASCADE";//不許刪除分區(qū) publicstatic String FLAG_READ_ONLY=?"READ_ONLY";//只讀,不過(guò)測(cè)試了下實(shí)際還不支持 |
這個(gè)特性的實(shí)現(xiàn)其實(shí)是在數(shù)據(jù)庫(kù)里的table_params表里支持的,param_key=’Protect_mode’,而param_value則設(shè)置相應(yīng)的mode.因此批量做no_drop/offline通過(guò)SQL操作是最方便的了:)
本文轉(zhuǎn)自MIKE老畢 51CTO博客,原文鏈接:http://blog.51cto.com/boylook/1334516,如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者
總結(jié)
- 上一篇: Java文件读取 中文乱码
- 下一篇: FFmpeg avio_alloc_co