【发布时间】:2016-07-16 06:44:47
【问题描述】:
我可以通过更改分区目录的名称来修改分区表的值吗?
我现在拥有的表有年份和月份作为分区。这些值存储为十进制,因此分区是“2016.0”而不是“2016”和“3.0”而不是“3”。
我可以只重命名目录并更新分区中的值吗?
【问题讨论】:
-
所以我想运行一个测试,但我没有看到任何用于重命名目录的 hdfs 命令。所以这可能没有实际意义。
-
我希望做这样的事情
hadoop fs -rename /dev/.../year=2016.0/month=4.0 /dev/.../year=2016.0/month=4,但这不起作用。 -
我试过这个:
> hadoop fs -mv /dev/.../year=2016.0/month=4.0 /dev/.../year=2016.0/month=4,它成功了,因为它移动了目录,但现在对表的查询不再有效,因为 hiveCaused by: java.util.concurrent.ExecutionException: java.io.FileNotFoundException: File hdfs://prodmid/dev/.../year=2016.0/month=4.0 does not exist. -
将它移回来使它再次工作。