1.我用以下SQL创建了一个托管表,并向其中添加了数据
CREATE TABLE test.internal_table (
id INT,
name STRING
);
INSERT INTO TABLE test.internal_table VALUES
(1, 'John'),
(2, 'Jane'),
(3, 'Bob'),
(4, 'Alice'),
(5, 'Charlie'),
(6, 'Diana'),
(7, 'Eva'),
(8, 'Frank'),
(9, 'Grace'),
(10, 'Henry');
字符串
1.我打开了HDFS垃圾桶fs.trash.interval=360
1.然后我执行“drop table test.internal_table”SQL
1.我在/user/hive/.Trash/Current/warehouse/warehouse/managed/hive/test.db/internal_table路径enter image description here中找到了已删除的internal_table表的数据文件
1.如何恢复test.internal_table?
我尝试了以下5种方法:
1.运行'hdfs dfs mv'命令将删除的数据文件移动到/warehouse/tablespace/managed/hive/test. db路径,然后执行'SELECT SQL(1)FROM test.internal_table' SQL,但不起作用
1.首先,执行MySQLrecreated test.internal_table,然后运行'hdfs dfs mv'命令将删除的数据文件移动到/warehouse/tablespace/managed/hive/test. db路径,但不起作用3.首先,执行MySQL recreated test.internal_table,将删除的数据文件移回test.internal_table存储路径,然后运行'msck修复表internal_table;命令,但它没有工作
1.执行'**LOAD DATA INPATH * 路径'/user/hive/.Trash/Current/warehouse/register/managed/hive/test.db/internal_table/' INTO TABLE internal_table;'将已删除的数据文件加载到表中,但不起作用
1.尝试将已删除的数据文件移动到/warehouse/css/managed/hive/test.db/internal_table,然后运行以下命令:
CREATE TABLE test.internal_table(id INT,name STRING)location '/warehouse/career/managed/hive/test.db/internal_table';
它也没有工作,数据仍然没有恢复。
1条答案
按热度按时间x33g5p2x1#
尝试将数据恢复到表位置,然后运行MSCK修复
字符串