【发布时间】:2019-12-07 22:25:14
【问题描述】:
我在运行以下 Spark-sql 查询时遇到以下错误。
org.apache.spark.SparkExecution: Job aborted due to stage failure: Total size of serialized results of 33 tasks (1046.8 MB) is larger than spark.driver.maxResultSize (1024.0 MB)
源表记录数为:
contrib = 734539064
contrib (with filters 2018) = 683878665
date_dim = 73416
查询是:
select policy,
order,
covr_fr,
covr_to,
sum(fc_am) - SUM(mc_am) As amount
from (select coalesce(cntr.vre2, cntr.cacont_acc)) as policy,
cntr.order,
date_dim_get_sk.date_dim_sk as pst_dt_sk,
cntr.covr_fr,
cntr.covr_to
from (select * from contrib
where ind_cd = 'BP'
and flg IN ('001', '004'
and covr_fr > '2018-01-01' ) cntr
JOIN date_dim ON date_dim.dt = cntr.pstng_dt
JOIN date_dim_get_sk ON date_dim_get_sk.dt = date_dim.dt_lst_dayofmon
GROUP BY policy,
order,
covr_fr,
covr_to
HAVING sum(fc_am) - SUM(mc_am) > 0
目前此查询因上述错误而失败。我试图缓存contrib 表但徒劳无功。
谁能帮我解决上述错误并调整此查询并使其可行。如果需要其他信息,请告诉我。
谢谢
【问题讨论】:
标签: apache-spark apache-spark-sql pyspark-sql