问题描述
我正在尝试按livy POST api(/ sessions /:sessionId / statements)提交火花作业。但是,在提交35条以上的语句(一次至少发送10条)之后,Get语句将引发StackOverflow错误。开始新的会话后尝试过 下面是我的代码 POST / sessions /:sessionId / statements 请求正文:
{
"code":"var df_20032_preview = SparkUtil.getorRead(\"PREVIEW\",\"df_20032_preview\",\"/20032/e46b411d225ea0463376b88c4f8ac927/Test.csv\",\"rO0ABXQABG51bGw=\",false,\"%2C\",\"%22\",\"'Test'!A1\",1);"
}
这是getorRead的逻辑
if (!DataframeMap.exists(dfName)) {
val schema:Option[List[DFColumn]] = ???
val read_odf = session.read.format("csv")
.option("header","true")
.option("numPartitions",10)
.option("quote",dqualifier)
.option("delimiter",ddelimiter)
.option("ignoreTrailingWhiteSpace",value = true)
.option("multiLine",value = true)
.option("inferSchema",value = infer)
.load(fileLocation)
val odf = read_odf
val ocolumns = ("MAPIT_ROW_INDEX" +: odf.columns).map(x => s"`$x`")
val odf1000 = addindex(odf).select(ocolumns.head,ocolumns.tail: _*)
val idf1000 = odf1000
DataframeMap.init(dfName,odf1000,idf1000,schema) //store in map
}
DataframeMap.get(dfName)._2
我正在传递相同的请求主体并提交多个语句,但是当我通过ID进行GET语句时,它始终会引发StackOverflow错误
{
"id": 40,"code": "var df_20032_preview = MIS.getorRead(\"PREVIEW\",\"/e46b411d225ea0463376b88c4f8ac927/Test.csv\",1);","state": "available","output": {
"status": "error","execution_count": 40,"ename": "Internal Error: java.lang.StackOverflowError","evalue": null,"traceback": []
},"progress": 1.0
}
还添加了我的DAG以供参考。
有人可以告诉我为什么我得到堆栈溢出错误吗?另外我在哪里可以看到检查堆栈跟踪的日志?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)