hive Sql的动态分区问题

在通过Hive SQL向Parquet或者ORC格式的表插入数据时,如果开启的分区数量太多。很容易导致OOM。即便数据只有小小的几M。

主要原因是在写入这些文件之前,需要将这些批次的行缓存到内存中。

每一个动态分区目录都会有一个文件写入器。因为这些缓冲区都是按照分区维护的。所以所需内存随着分区数量的增加而增加。

解决办法:

将 hive.optimize.sort.dynamic.partition 设置为true。

posted @ 2024-04-01 12:07  啦啦啦one  阅读(27)  评论(0编辑  收藏  举报