Я выполняю преобразование, читая CSV-файл из корзины и сохраняя его в Big Query
PCollection quotes = .... // считываю данные и выполняю преобразование
// запись в существующий BQ таблица, которая имеет 2 столбца «источник» и «цитата».
quotes.apply(
MapElements.into(TypeDescriptor.of(TableRow.class))
.via(
(Quote elem) ->
new TableRow().set("source", elem.source).set("quote", elem.quote)))
.apply(
BigQueryIO.writeTableRows()
.to(tableSpecname)
.withCreateDisposition(BigQueryIO.Write.CreateDisposition.CREATE_NEVER)
.withWriteDisposition(BigQueryIO.Write.WriteDisposition.WRITE_APPEND));
Мне нужно заменить код преобразования PCollection в TableRow, так как в некоторых случаях столбцы таблицы могут отличаться, поэтому имена этих жестких столбцов не будут работать.