本文主要是介绍Spark解决代码变量bug:error: reassingnment to val,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在Scala中,val
关键字用于声明一个不可变的变量,一旦赋值后就不能再更改。这就是为什么我尝试重新赋值给modelFilePath
时会收到“reassignment to val”的错误。
modelFilePath
的声明从val
更改为var
,因为var
允许我们重新赋值
样例代码
val tbRDDName = ctxRead.read[String]("$.tableNameObj")
val tbName = inputRDD(tbRDDName).asInstanceOf[String]
val namespace = TableName.valueOf(tbName).getNamespaceAsString val modelFilePath1 = ctxRead.read[String]("$.modelFilePath")
val modelFilePath2 = ctxRead.read[String]("$.modelFilePath") var modelFilePath: String = if (tbName == "rhtable1") { modelFilePath1
} else if (tbName == "table1") { modelFilePath2
} else { throw new IllegalArgumentException(s"Unsupported tableName: $tbName")
}
代码跑的时候继续报错:
com.jayway.jsonpathPathNotFoundException:No results for path:$[`modelFilePath`]
这篇关于Spark解决代码变量bug:error: reassingnment to val的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!