[英]Drop Hive external table WITHOUT removing data
目标是破坏 Hive 模式,但保留数据。
给定一个 Hive 外部表,例如使用脚本 1 创建的,它可以使用脚本 2 删除。这将删除数据(删除文件夹/user/me/data/
)。 此文件夹必须保留以供其他项目使用。
到目前为止,长时间的搜索没有产生任何结果......
脚本一:创建外部表
CREATE EXTERNAL TABLE external_hive_table(
column1 STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY
'\t'
STORED AS TEXTFILE
LOCATION
'/user/me/data/'
TBLPROPERTIES (
"skip.header.line.count"="1");
脚本 2:删除外部表(删除数据)
ALTER TABLE
external_hive_table
SET TBLPROPERTIES (
'EXTERNAL'='FALSE');
DROP TABLE external_hive_table;
编辑:脚本 3:删除外部表(保留数据)
DROP TABLE external_hive_table;
仅使用此语句(不使用alter table):
DROP TABLE external_hive_table;
1.防止外部表中的数据被DROP TABLE语句删除。
ALTER TABLE table_name SET TBLPROPERTIES ('external.table.purge'='false');
2.然后删除表。
DROP TABLE table_name;
我们可以避免这个陡峭的Boz因为我们是丢弃外部表它将丢弃HDFS架构中可用的数据将被删除。 脚本2:删除外部表(丢弃数据)
ALTER TABLE external_hive_table SET TBLPROPERTIES('EXTERNAL'='FALSE');
DROP TABLE external_hive_table
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.