Масштабирующая запись в JDBCSource, имеющий более 22 столбцов
Есть ли способ обжига для записи в таблицу SQL, которая имеет более 22 столбцов? Проблема, с которой я сталкиваюсь, заключается в следующем. У меня есть таблица, которая имеет 28 столбцов, каждый ряд которых я представляю с использованием класса case. Что-то вроде
case class ResultsRow(field1: String, field2: Int, ... field28: String)
Я на последнем этапе, где у меня есть TypedPipe[ResultsRow], который мне нужно сериализовать в БД. Однако ни JDBCSource, предоставляемый функцией scalding, ни Parallelai, по-видимому, не поддерживают использование только кортежей в качестве входных данных, а не case-классов. Я хотел сделать что-то в этом роде
val results: TypedPipe[ResultsRow] = getResultRows
val dbOutput: JDBCSource = JDBCSource(...)
results.write(dbOutput)
и я не могу сделать
results
.map { row => (row.field1, row.field2, ..., row.field28) }
.write(dbOutput)
потому что вы не можете определить кортеж, имеющий более 22 полей.
Примечание: это предписано в FAQ по масштабированию, не работает, потому что оно обрабатывает чтение более 22 полей и не сериализует их в базу данных