Spark序列化,使用类或对象

时间:2018-02-06 22:28:12

标签: scala apache-spark serialization

我需要对类进行一些教育,使用序列化对象

说,我有一个spark主要工作,它将数据帧映射到另一个数据帧:

def main(args: Array[String]){
      val ss = SparkSession.builder
      .appName("test")
      .getOrCreate()

      val mydf = ss.read("myfile")

      // if call from object
      val newdf = mydf.map(x=>Myobj.myfunc(x)) 

      //if call from class
      val myclass = new Myclass()
      val newdf = mydf.map(x=>myclass.myfunc(x))
}

object Myobj {

   def myfunc(x:Int):Int = {
      x + 1
   }
}

class Myclass{

   def myfunc(x:Int):Int = {
      x + 1
   }
}

我的问题是:

  1. 我应该使用哪个闭包来定义myfunc?一个对象还是一个类?性能方面有何不同。

  2. 我应该为extends Serializable提供对象或类。为什么呢?

  3. 我想打印/记录来自对象/类的一些消息,我该怎么办?

  4. 由于

0 个答案:

没有答案