Создайте нормальный класс, который действует как класс 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
}
}
Я нашел решение. Пришлось установить динамический объем события динамического действия, который по умолчанию установлен на статический. Использование встроенного фильтра страниц делает PPR отчета, поэтому в статическом состоянии обработчик событий больше привязан к инициирующему элементу.
Static (по умолчанию) - привязывает обработчик событий к инициирующим элементам в течение времени жизни текущей страницы, но больше не будет привязываться, если запускающие элементы обновляются с помощью частичного обновления страницы (PPR).
Динамический - привязывает обработчик событий к элементам запуска на весь срок жизни текущей страницы, включая любые элементы запуска, которые воссоздаются с помощью частичного обновления страницы (PPR).
Once - привязывает обработчик события к инициирующим элементам для однократного события.
BLOCKQUOTE>