java.lang.Long and scala.Long - PullRequest
       1

java.lang.Long and scala.Long

0 голосов
/ 22 ноября 2018

Я не знаю, что произошло в моем коде ...

Журналы здесь.

[error] blahblah\SampleApp.scala:22:53: overloaded method value reduce with alternatives:
[error]   (func: org.apache.spark.api.java.function.ReduceFunction[java.lang.Long])java.lang.Long <and>
[error]   (func: (java.lang.Long, java.lang.Long) => java.lang.Long)java.lang.Long
[error]  cannot be applied to ((java.lang.Long, java.lang.Long) => scala.Long)
[error]     val sumHundred = sparkSession.range(start, end).reduce(_ + _)

Когда я запускал этот код в scala 2.11.12, spark2.3.2 работает без ошибок.
И тот же код в scala 2.12.7, spark 2.4.0 не работает - что?

Кто-нибудь знаетоб этом?

  private val (start, end) = (1, 101)

  def main(args: Array[String]): Unit = {
    val sumHundred = sparkSession.range(start, end).reduce(_ + _)
    logger.debug(f"Sum 1 to 100 = $sumHundred")
    close()
  }

Есть родительский элемент trait, который создает sparkSession и т. д.

Что я пробовал:

  1. Явное объявление типа:
    private val (start: Long, end: Long) = ...
  2. Подобные вещи в reduce коде.

Что я знаю: Идеально совместимо между scala.Long и java.lang.Long

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...