alter table/partition“concatenate”命令的工作

de90aj5v  于 2021-05-27  发布在  Hadoop
关注(0)|答案(1)|浏览(1324)

想知道 Alter Table/Partition Concatenate 命令行得通,在上面找不到什么https://cwiki.apache.org/confluence/display/hive/languagemanual+ddl#languagemanualddl-可更改/分区连接。
假设我在一个特定的分区上运行这个命令,同时运行 SELECT 同一分区上的命令。
是否存在争用条件,当concatenate命令正在删除该分区中已经存在的多个文件,并且还没有用它创建的临时文件夹中的新组合文件替换它时,我尝试读取该争用条件。
复制这将是困难的,如果有人有任何想法请帮助!

vsaztqbk

vsaztqbk1#

会有的 no race 条件,当我们运行时 alter table <tb_name> concatenate; 会有的 Exclusive table上的锁 (if specific partition mentioned then lock on that specific partition only) .
这个 Exclusive Lock 一旦 MR 工作完成了。
那就只有你的 Select query 将在表上执行,直到 Exclusive lock 在表上,select查询将在队列中等待。
来自官方hive文档:

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>;

相关问题