hive防止数据误删
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
轉載于:https://blog.51cto.com/caiguangguang/1331679
總結
以上是生活随笔為你收集整理的hive防止数据误删的全部內容,希望文章能夠幫你解決所遇到的問題。