Hive 中的分区交换
Partition swapping in Hive
如果我使用
交换分区,对 Hive 中的 运行 查询有什么影响
ALTER TABLE user_data
PARTITION (name = 'ABC')
SET LOCATION = 'db/partitions/new';
此命令是否等到查询执行完毕?
Hive 将您的查询转换为临时 Map/Reduce 作业并代表您的 hive 执行该作业 query.When 您提交 hive 查询它会根据您的查询创建一个 Map/Reduce 作业作业被执行,你从那个作业中得到一个结果。但是,如果您 ALTER
您的配置单元查询并在查询执行期间更改分区或任何其他内容,命令将不会等待完成您的 运行ning 作业,它会更改您的 table 并且您将得到除非或直到您终止之前的工作,否则您之前查询的结果。
理解这一点的最佳方法是 尝试和 运行。只需提交您的配置单元查询并将其重定向以将结果存储到文件中,然后更改分区并再次提交查询并将其重定向以将结果存储到文件中。验证两个输出。
如果我使用
交换分区,对 Hive 中的 运行 查询有什么影响ALTER TABLE user_data
PARTITION (name = 'ABC')
SET LOCATION = 'db/partitions/new';
此命令是否等到查询执行完毕?
Hive 将您的查询转换为临时 Map/Reduce 作业并代表您的 hive 执行该作业 query.When 您提交 hive 查询它会根据您的查询创建一个 Map/Reduce 作业作业被执行,你从那个作业中得到一个结果。但是,如果您 ALTER
您的配置单元查询并在查询执行期间更改分区或任何其他内容,命令将不会等待完成您的 运行ning 作业,它会更改您的 table 并且您将得到除非或直到您终止之前的工作,否则您之前查询的结果。
理解这一点的最佳方法是 尝试和 运行。只需提交您的配置单元查询并将其重定向以将结果存储到文件中,然后更改分区并再次提交查询并将其重定向以将结果存储到文件中。验证两个输出。