scala - 如何修复此错误“未找到:值 BMValsProcessor”
问题描述
如何修复此代码中的此错误
trait Processor00 {
def process(oraOptionDfConfig: DataFrameReader, sparkSession: SparkSession ): Unit
}
class BMValsProcessor extends Processor {
def process(oraOptionDfConfig: DataFrameReader, sparkSession: SparkSession ) : Unit ={
println("in BMValsProcessor")///actual business logic
}
}
class BMValsProcessor2 extends Processor {
def process(oraOptionDfConfig: DataFrameReader, sparkSession: SparkSession ) : Unit ={
println("in BMValsProcessor2") //actual business logic
}
}
object ValProcessor {
def main( args : Array[String]):Unit ={
val df : DataFrameReader = null; // initialization of DataFrameReader
val spark: SparkSession = null; // initialization of SparkSession
val procs :Map[String, (DataFrameReader, SparkSession) => Unit] = getAllDefinedProcessors();
procs.values.foreach(
proc => proc(df,spark)
)
}
def getAllDefinedProcessors(): Map[String, (DataFrameReader, SparkSession) => Unit] = {
val myFuncs2 : Map[String, () => Unit]=
Map(
"bm_vals" -> (() => BMValsProcessor().process), //Error
"bm_vals2" -> (() => BMValsProcessor2().process) //Error
)
myFuncs2;
}
}
错误是:
未找到:值 BMValsProcessor
解决方案
表达式是对象BMValsProcessor()
的调用方法apply
BMValsProcessor
查看https://gist.github.com/AndriiStefaniv/902938c71440c3f25769528e5c730d4f
我试图修复它。
推荐阅读
- android - 无法从警报对话框中的 EditText 视图中获取数据
- uiscrollview - UIScrollView 中心内容
- java - 如何解决:发现 15 个 USB 设备未被识别为 Android 设备?
- react-native - 如何从外部函数触发 useEffect?
- reactjs - 在 reactjs 中使用带有 componentDidMount 的 localstorage
- java - 我想要在firebase中保存在键值“pqty”中的生产数量的累积?
- php - 在php laravel中回显数组项
- javascript - 将响应中的二进制数据保存为浏览器 JavaScript 中的 xlsx 文件
- sql - 将公式保留在 Oracle 变量中
- css - 使用 bootstrap5 防止表、表条带化等类