1
我注意到,大多數斯卡拉斯類不是可序列化的。在這種情況下,我試圖使用類型的類在Spark中對數組進行自定義排序。序列化火花斯卡拉訂單
一個減少的例子可能是這樣的:
> val ord = Order[T]{ ... }
> sc.makeRDD[T](...).grupBy(...).map {
case (_, grouped) => IList[T](grouped.toList).sorted(ord).distinct(ord)
}
正如你應該期望,此實現拋出一個NotSerializableException
因爲Order[T]
是不可序列。
有什麼辦法可以使Order[T]
可序列化嗎?在一個完美的世界中,我希望避免使用scalaz這個問題。在不太完美的之一,我打開考慮其他實現。
如果發生這種情況,必須將自定義排序和獨特實現保持爲可持續且可擴展的方式。
雖然這不能解決您的問題,但很高興知道['cats.kernel.Order'](http://typelevel.org/cats/api/cats/kernel/Order.html)是'Serializable' – Odomontois