欢迎投稿

今日深度:

Hive 保护模式,

Hive 保护模式,


使用Hive自管理的表的时候都担心如果误drop了表怎么办,因此Hive除了外部表的方式还提供了一个功能:ProtectMode(保护模式).

细心的同学会发现文档里其实提到过alter table enable/disable no_drop/offline

https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL),其中no_drop禁止直接drop tableoffline是禁止表被读取.其实这些过能在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,如需转载请自行联系原作者


www.htsjk.Com true http://www.htsjk.com/hive/42590.html NewsArticle Hive 保护模式, 使用 Hive 自管理的表的时候都担心如果误 drop 了表怎么办,因此 Hive 除了外部表的方式还提供了一个功能: ProtectMode (保护模式) . 细心的同学会发现文档里其实提到过...
评论暂时关闭