hive防止数据误删
hive防止重要table誤刪的方法:
1.HDFS層面開啟trash功能 (fs.trash.interval)
數(shù)據(jù)刪除后可以找回
2.創(chuàng)建外部表,CREATE EXTERNAL ***
刪除表時(shí)只刪除元數(shù)據(jù),不刪除data數(shù)據(jù)
下面3個(gè)方法是控制不能使用DROP TABLE
1.ALTER TABLE xxx ENABLE NO_DROP ,更改已經(jīng)存在的表
2.CREATE TABLE xxx …..TBLPROPERTIES('PROTECT_MODE'='NO_DROP'),新表創(chuàng)建
3.批量更新,直接操作hive數(shù)據(jù)庫好啦(關(guān)聯(lián)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
設(shè)置NO_DROP后,刪除表會(huì)報(bào)如下錯(cuò)誤:
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
轉(zhuǎn)載于:https://blog.51cto.com/caiguangguang/1331679
總結(jié)
以上是生活随笔為你收集整理的hive防止数据误删的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。