Выбор места немедленно закрывается

Создайте нормальный класс, который действует как класс case.

Я все еще использую scala 2.10.X, так как это последнее, поддерживаемое Spark, а в Spark-SQL я сильно использую классы case.

Обходной путь для case classes с более чем 22 полями:

class Demo(val field1: String,
    val field2: Int,
    // .. and so on ..
    val field23: String)

extends Product 
//For Spark it has to be Serializable
with Serializable {
    def canEqual(that: Any) = that.isInstanceOf[Demo]

    def productArity = 23 // number of columns

    def productElement(idx: Int) = idx match {
        case 0 => field1
        case 1 => field2
        // .. and so on ..
        case 22 => field23
    }
}
1
задан Vitor Carneiro 5 March 2019 в 17:06
поделиться