hive防止数据误删

  1. 云栖社区>
  2. 博客>
  3. 正文

hive防止数据误删

科技小先锋 2017-11-15 03:05:00 浏览815
展开阅读全文

hive防止重要table误删的方法:

1.HDFS层面开启trash功能 (fs.trash.interval)

数据删除后可以找回


2.创建外部表,CREATE EXTERNAL ***

删除表时只删除元数据,不删除data数据


下面3个方法是控制不能使用DROP TABLE

1.ALTER TABLE xxx ENABLE NO_DROP ,更改已经存在的表


2.CREATE TABLE xxx …..TBLPROPERTIES('PROTECT_MODE'='NO_DROP'),新表创建


3.批量更新,直接操作hive数据库好啦关联tbls表和table_params


mysql> SELECT * FROM table_params WHERE PARAM_KEY='PROTECT_MODE'\G;

*************************** 1. row ***************************

TBL_ID: 36

PARAM_KEY: PROTECT_MODE

PARAM_VALUE: NO_DROP


设置NO_DROP后,删除表会报如下错误:

hive> DROP TABLE FILE_TEXT;
FAILED: Error in metadata: Table file_text is protected from being dropped
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask



本文转自菜菜光 51CTO博客,原文链接:http://blog.51cto.com/caiguangguang/1331679,如需转载请自行联系原作者

网友评论

登录后评论
0/500
评论
科技小先锋
+ 关注