插入覆盖不会更新外部表中的数据

时间:2017-10-27 16:39:46

标签: hive hiveql

Hive中有一个外部表。它有数据。当我插入覆盖时,它会更新位于哪个表点的文件。但是在执行select *时不会更新表数据。

1 个答案:

答案 0 :(得分:0)

我尝试了很多,但无法找到这个问题的答案。我使用替代方法完成了我的工作。我在这里分享,如果有人遇到同样的问题,他可以使用它。

1。     create table target_table_name like source_table_name;

2。     insert overwrite table target_table_name partition(partition_column_name)select * from source_table_name;

3.创建外部表another_table_name,如source_table_name,存储为file_format_of_source_table location' location_of_source_table';

4.msck修复表another_table;

5.然后您可以删除source_table并将another_table重命名为source_table_name。