【问题标题】:How to fix this error "not found: value BMValsProcessor"如何修复此错误“未找到:值 BMValsProcessor”
【发布时间】:2018-10-27 00:47:30
【问题描述】:

如何修复此代码中的此错误

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

【问题讨论】:

    标签: scala apache-spark


    【解决方案1】:

    表达式BMValsProcessor()是对象BMValsProcessor的调用方法apply

    查看https://gist.github.com/AndriiStefaniv/902938c71440c3f25769528e5c730d4f

    我试图修复它。

    【讨论】:

    猜你喜欢
    • 2018-07-21
    • 2020-07-10
    • 2022-10-09
    • 2022-01-05
    • 1970-01-01
    • 2018-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多