东营市网站建设_网站建设公司_腾讯云_seo优化
2026/1/14 20:49:53 网站建设 项目流程

我们有一个表分成了8桶,今天早上跑批报错了,消息是:

The number of buckets for table xxx is 8, whereas the number of files is 16

上hdfs去查看一下,果然是16个文件。

可是我明明只分8桶,为什么会有16个文件?而且,直接select * from table xxx它又不会出错。
经仔细检查ETL逻辑发现,这个表是增量表,每天会加载一批增量数据过来,以前用的是insert overwrite table xxx select … from xxy union all …的方法,这张表却是insert into table xxx select … from xxy 的方法,说明新增的数据,hive并没有合并到老文件里,只是新加了一个“补丁文件”,导致文件数据增多。修复一个增量sql就解决了。
但是,为什么直接单表select就没问题,而join其它表就有问题了?还得研究。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询