首页 > 解决方案 > 插入 Hive 表时,Spark 进程永远不会结束

问题描述

我试图通过 Spark/Scala 在 Hive 表中追加一些行(500 万行/ 2800 列),但该过程似乎在长时间后卡住了。日志不显示任何错误。

我如何确定该过程确实在运行?有什么办法可以优化工作吗?

我的提交配置:

--driver-memory 15 G --executor-memory 30g --num-executors 35 --executor-cores 5

谢谢!


 def exprToAppend(myCols: Set[String], allCols: Set[String]) = {
import org.apache.spark.sql.functions._
allCols.toList.map(x => x match {
case x if myCols.contains(x) => col(x)
case _ => lit(0d).as(x)
})
}


val insert : DataFrame = tableFinal.select(exprToAppend(tableFinal.columns.toSet, historico.columns.toSet):_ *).select(historico.columns.map(x => col(x)) :_*);

insert.write.mode("append")
.format("parquet")
.insertInto(s"${Configuration.SIGLA}${Configuration.TABLE_HIST}")

标签: apache-sparkhivehdfs

解决方案


推荐阅读