相关疑难解决方法(0)

Spark和Not Serializable DateTimeFormatter

我正在尝试在Spark中使用java.time.format中的DateTimeFormatter,但它似乎不可序列化.这是相关的代码块:

val pattern = "<some pattern>".r
val dtFormatter = DateTimeFormatter.ofPattern("<some non-ISO pattern>")

val logs = sc.wholeTextFiles(path)

val entries = logs.flatMap(fileContent => {
    val file = fileContent._1
    val content = fileContent._2
    content.split("\\r?\\n").map(line => line match {
      case pattern(dt, ev, seq) => Some(LogEntry(LocalDateTime.parse(dt, dtFormatter), ev, seq.toInt))
      case _ => logger.error(s"Cannot parse $file: $line"); None
    })
  })
Run Code Online (Sandbox Code Playgroud)

我该如何避免java.io.NotSerializableException: java.time.format.DateTimeFormatter异常?是否有更好的库来解析时间戳?我已经读过Joda也不是可序列化的,并且已经被整合到Java 8的时间库中.

java serialization scala apache-spark

14
推荐指数
2
解决办法
5864
查看次数

标签 统计

apache-spark ×1

java ×1

scala ×1

serialization ×1