環境是Hive以Tez作為引擎,然后使用客戶端(比如DataGrip)連接Hive運行SQL查詢,運行過程中報錯信息如下:
java.lang.OutOfMemoryError: Java heap space…
連接工具以DataGrip為例,解決辦法如下:
-- 先執行該配置修改,原值為4096,可根據自身情況調整
set hive.tez.container.size=8192;-- 然后執行SQL邏輯
SELECT * FROM ods.tmp;
hive.tez.java.opts=-Xmx1700m:Java內存設置,不建議直接修改,而是通過調整tez.container.max.java.heap.fraction參數(默認0.8)來調整,該參數建議值為:tez.container.max.java.heap.fraction*hive.tez.container.size。
實踐中通過調整hive.tez.container.size參數解決了OOM問題。