gpt4 book ai didi

sql - 更改表/分区的工作 “Concatenate”命令

转载 作者:行者123 更新时间:2023-12-02 19:46:49 25 4
gpt4 key购买 nike

想知道Alter Table/Partition Concatenate命令是如何工作的,在https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-AlterTable/PartitionConcatenate上找不到很多。

假设我在特定分区上运行此命令,同时在同一分区上运行SELECT命令。

是否可能存在争用情况,当连接命令删除该分区中已经存在的多个文件并且尚未从其创建的temp文件夹中将其替换为新的合并文件时,我尝试读取该文件。

复制此代码将很困难,如果有人有任何想法请帮助!

最佳答案

将存在 no race 条件,当我们运行alter table <tb_name> concatenate;时,将在表Exclusive上获取 (if specific partition mentioned then lock on that specific partition only) 锁。
Exclusive Lock作业完成后,将释放 MR

然后,将仅在表上执行 Select query ,直到选择查询表上的 Exclusive lock 才在队列中等待。

From Official Hive Documentation:

Hive Command                                Locks Acquired
--------------------------------------- ---------------
alter table T1 partition P1 concatenate | EXCLUSIVE Lock on T1.P1
alter table T1 concatenate | EXCLUSIVE Lock on T1

To check locks on specific Hive table:
show locks <db>.<tb_name>;

关于sql - 更改表/分区的工作 “Concatenate”命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59793476/

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