Hive 保护模式,
使用Hive自管理的表的时候都担心如果误drop了表怎么办,因此Hive除了外部表的方式还提供了一个功能:ProtectMode(保护模式).
细心的同学会发现文档里其实提到过alter table enable/disable no_drop/offline
(https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL),其中no_drop禁止直接drop table而offline是禁止表被读取.其实这些过能在Hive里被称为ProtectMode.
查看源码是支持四种模式:
1 2 3 4 |
publicstaticString FLAG_OFFLINE= "OFFLINE" ; //禁止读
publicstaticString FLAG_NO_DROP= "NO_DROP" ; //不许删除表
publicstaticString FLAG_NO_DROP_CASCADE = "NO_DROP_CASCADE" ; //不许删除分区
publicstatic String FLAG_READ_ONLY= "READ_ONLY" ; //只读,不过测试了下实际还不支持
|
这个特性的实现其实是在数据库里的table_params表里支持的,param_key=’Protect_mode’,而param_value则设置相应的mode.因此批量做no_drop/offline通过SQL操作是最方便的了:)
本文转自MIKE老毕 51CTO博客,原文链接:http://blog.51cto.com/boylook/1334516,如需转载请自行联系原作者
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。