hive恢復drop table資料

2021-08-30 17:48:43 字數 1047 閱讀 2007

hive 中使用truncate命令將表截斷的話,它是不會進**站的,是沒辦法恢復的。這個跟oracle truncate有點類似的。

恢復在hive中通過drop table刪除的資料檔案就是將hdfs dfs -rm刪除掉的檔案進行恢復,只需要hdfs dfs -mv將檔案從**站中搬過來就行,我就先使用這個方法,但是效果不佳,執行select count(*) from table_name,得到的結果為0。這個時候我想到這個表被drop掉以後在mysql的元資料庫中已經沒有資料了,那就得需要將這些資料的資訊重新寫入到mysql中。具體恢復步驟如下:

1、建立表:

create table temp_richard(

op_time string,

province_id string,

pay_type string,

client_type string,

index_id string,

index_value bigint

) partitioned by (dayid string) stored as rcfile location '/dw/tmp/temp_richard';

2、將**站中的資料cp出來乙份

hdfs dfs -cp /user/hadoop/.trash/current/dw/dm/tmp_richard /tmp/richard/
3、將臨時目錄下的資料load到表中:

load data inpath '/tmp/zhulh/dayid=20160101/000000_0' into table tmp_richard partition (dayid='20160101');
備註:這裡需要將每個分割槽的資料load到相應的分割槽表中。

4、驗證資料:

hive> select count(*) from tmp_richard;

drop table中cascade的含義及用法

在刪除乙個表時,如果該錶的主鍵是另乙個表的外來鍵,如果不用cascade關鍵字就會報錯 sql drop table dict loc type drop table dict loc type ora 02449 表中的唯一 主鍵被外來鍵引用 使用cascade關鍵字,表被成功刪除 sql dro...

drop table中cascade的含義及用法

在刪除乙個表時,如果該錶的主鍵是另乙個表的外來鍵,如果不用cascade關鍵字就會報錯 sql drop table dict loc type drop table dict loc type ora 02449 表中的唯一 主鍵被外來鍵引用 使用cascade關鍵字,表被成功刪除 sql dro...

drop table中cascade的含義及用法

在刪除乙個表時,如果該錶的主鍵是另乙個表的外來鍵,如果不用cascade關鍵字就會報錯 sql drop table dict loc type drop table dict loc type ora 02449 表中的唯一 主鍵被外來鍵引用 使用cascade關鍵字,表被成功刪除 sql dro...