gpt4 book ai didi

hadoop - hive/hdfs 移动数据未按预期工作

转载 作者:可可西里 更新时间:2023-11-01 16:38:12 24 4
gpt4 key购买 nike

我在配置单元中有一个名为测试的表,位于 'hdfs://location1/partition='x'' 并将所有数据移动到 'hdfs://location2/partition='x''

hdfs dfs -mv /location1 /location2

然后我做了

alter table test set location 'hdfs://location2'.

在做

 hdfs dfs -ls /location2

我在正确的分区中看到了所有数据

查询以获取计数,即

select count(*) from test 

工作正常。

但是做

 select * from test 

不提取任何记录。

无法确定移动时出了什么问题。

最佳答案

您需要手动删除指向原始位置“hdfs://location1/partition='x'”的现有分区。 使用以下命令手动删除所有分区:

alter table test drop partition(partition='x');

删除所有分区后,运行以下命令更新 hive metastore 中的新分区:

msck repair table test;

这是为什么?因为表的位置已更改,但配置单元 Metastore 未使用新位置的新分区进行更新。 Hive Metastore 仍然保存着旧位置的分区信息。一旦你删除分区并运行

msck repair

命令,hive metastore 将使用来自新位置的新分区进行更新。

关于hadoop - hive/hdfs 移动数据未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47502030/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com