背景:
今天给生产的一张大表(120多亿的数据量)新加了一个字段:
ALTER TABLE TABLENAME ADD COLUMNS (ENTRY_NAME VARCHAR(200) COMMENT'进件渠道名称');
在针对这张表运行脚本的时候,在最后,COMPUTE INCREMENTAL STATS TABLENAME
出现内存溢出的错误: Memory limit exceeded
原因:
应该是数据量过大,导致内存溢出
解决方法:
OMPUTE INCREMENTAL STATS [TABLENAME PARTITION (data_dt >= '2020-01-01' and data_dt <= '2020-06-01');
OMPUTE INCREMENTAL STATS [TABLENAME PARTITION (data_dt >= '2019-01-01' and data_dt <= '2020-01-01')
(PARTITION)只允许分区子句与增量子句组合使用。对于计算增量统计,它是可选的,对于删除增量统计,它是必需的。
当您在COMPUTE INCREMENTAL STATS或DROP INCREMENTAL STATS语句中通过
PARTITION(partition_spec)子句指定分区时,必须在规范中包含所有分区列,并为所有分区键列指定常量值。
思路:按日期分区进行分段统计。