Impala的SYNC_DDL

如题所述

第1个回答  2022-07-03
那天去面试,面试官问我知不知道Impala同步数据的方式,我回答invalidate metadata和refresh table [partition],后来他问我还有没有其他的方式,当时我没想到别的,因为工作中用到impala都是和hive结合的,spark把数据落到hive中,然后刷新impala,impala提供查询。

后来他提了下问我是否知道Impala的SYNC_DDL。说实话这个我也是第一次听过,后来去官网查了下用法,发现这个impala自己运行DDL时候同步用的,挺好的,又长知识了。

这个命令是为了解决这个问题的。在某个节点的impala-shell运行DDL语句,可能会出现其他节点查看不到的情况,因为impala的所有元数据都是用catalogd来管理的。一个impalad进行DDL操作会发送到catalogd,由catalogd在广播给其他的impalad服务,这时候可能会出现延迟,导致有的impalad查询不到发生的DDL。SYNC_DDL就是解决这个问题的。

官网的描述如下
相似回答