我试图通过spark/scala在一个配置单元表中追加一些行(500万行/2800列),但是这个过程似乎在长时间之后被卡住了。日志没有显示任何错误。
我怎样才能确定进程是否真的在运行?有什么办法可以优化工作吗?
我的提交配置:
--驱动程序内存15g--执行器内存30g--执行器数量35--执行器内核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}")
暂无答案!
目前还没有任何答案,快来回答吧!