我需要在 alter table 之后做 msck repair table 吗?

Do I need to do msck repair table after alter table?

我有一个按列 'date' table 分区的列,我向其中添加了一个列,如下所示: ALTER TABLE table_name ADD COLUMNS (message_id_external string) CASCADE;

我需要在这之后做 msck repair tableanalyze table table_name partition(date) compute statistics noscan; 吗?

REPAIR TABLE 不关心列,它检查元数据中的所有分区是否存在于 HDFS 中,反之亦然,它不会刷新现有分区的任何元数据——不,你不需要运行 如果没有从 HDFS 添加或删除分区位置。如果没有创建或删除分区文件夹,修复将不执行任何操作。

第二个 command analyze table table_name partition(date) compute statistics noscan; - 也不会给你任何东西,如果你之前在添加列之前执行过它的话。

ANALYZE with NOSCAN 将仅收集文件数量及其大小