Hive中的分区交换

缺口

如果我使用以下方法交换分区,对在Hive中运行查询有什么影响?

ALTER TABLE user_data
    PARTITION (name = 'ABC')
    SET LOCATION = 'db/partitions/new';

该命令是否等待查询完成执行?

桑迪普·辛格(Sandeep Singh)

Hive将您的查询转换为临时Map / Reduce作业,并代表您的Hive查询执行该作业。当您提交Hive查询时,它将根据您的查询创建Map / Reduce作业,该作业将被执行,并从该作业中获得结果。但是,如果ALTER您执行配置单元查询并在执行查询过程中更改分区或其他任何内容,命令将不等待完成您正在运行的作业,它将更改您的表,并且您将从先前的查询中获得结果,除非或直到您取消了先前的作业。

理解这一点的最佳方法是尝试并运行只需提交您的配置单元查询并将其重定向以将结果存储到文件中,然后更改分区,然后再次提交查询并将其重定向以将结果存储到文件中。验证两个输出。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章