从 oozie 操作中获取午餐并从控制台成功时,spark 失败

问题描述

我有一段相当简单的代码

spark
.table("source_table")
.filter(conditions)
.repartition(200)
.sortWithinPartitions(column)
.write
.mode(SaveMode.Overwrite)
.insertInto("target_table")

它从控制台成功运行,但从 oozie spark-action 启动时失败

Caused by: org.apache.spark.sql.AnalysisException: java.lang.OutOfMemoryError: GC overhead limit exceeded;

我认为配置存在某种差异,但采用 spark-default.conf 并将它们放入我的 job.properties 中并没有帮助。

这些是我用来从控制台和 oozie 运行的配置

SPARK_OPTS=--executor-cores=4 \
--driver-memory 5G \
--executor-memory 12G \
--conf spark.sql.shuffle.partitions=500 \
--conf spark.shuffle.service=true \
--conf spark.shuffle.service.enabled=true \
--conf spark.dynamicAllocation.enabled=true \
--conf spark.sql.hive.metastorePartitionPruning=true \
--conf spark.sql.hive.convertmetastoreOrc=false \

可能是什么原因?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)