Files
obsidian_sycn/编程经验/HIVE/Hive中过多使用窗口函数导致内存OOM.md
2026-07-31 15:28:08 +08:00

403 B

1. 问题

在hive中使用了过多的窗口函数导致了内存OOM

2. 原因

每一个窗口函数,hive都会在内存中执行一次窗口划分,消耗大量的内存,最终导致OOM;

3. 解决方法

使用window算子,复用窗口,如:

select
	id,
	ts,
	v,
	lead(v) over w as lead_v,
	lag(v) over w as lag_v
from
	test
WINDOW w as (partition by id order by ts)