OutOfMemoryError:过滤多个分区时超出了GC开销限制

时间:2018-08-08 11:46:29

标签: apache-spark

我有一个分区的蜂巢桌子。分区格式为yyyyMMdd_P,其中yyyyMMdd是日期,P是区域,可以有9个值(A,B,C等)

我需要所有类型的一个约会。

当我尝试一个partiton

spark.table(TABLE_NAME).filter($"date_region" === "20180801_A")

它工作正常。

但是当我全部尝试9次时,我得到OutOfMemoryError

我尝试了

$"date_region" rlike "20180801_*"
substring($"date_region",1,8) === "20180801"
$"date_region".isin(list:_*)

我的印象是火花试图读取所有日期,但不确定。每个分区相对较小(2-4 GB)

我为任务分配了以下资源。

--num-executors 10 \
--executor-cores 5 \
--driver-memory 4G \
--executor-memory 8G \

如何阅读表格?

PS在spark.shell中尝试.show或尝试将结果写入光盘时出现错误。

0 个答案:

没有答案