当发生短暂超时时,我具有以下功能来读取文件并重试:
// read logic
def read(loc){ Try {spark.read.parquet(loc)} }
// retry for m times
def df(floc):DataFrame={
read(floc) match {
case Success(df) => { df }
case Failure(exception) => {
if ( c < m ) { // c & m declared, c is incremented after each failure&retry
Thread.sleep(100000L)
read(floc)
}} //Expression of type Any Doesn't conform to expected type sql.DataFrame
}}
val df:DataFrame = df("FILE_location")
在失败情况下,预期的返回类型不匹配。关于我哪里出了问题的任何建议或执行此操作的任何更好方法。感谢您的建议。