Scio saveAsTypedBigQuery записывает в раздел для SCollection класса case Typed Big Query
Я пытаюсь записать SCollection в раздел в Big Query, используя:
import java.time.LocalDate
import java.time.format.DateTimeFormatter
val date = LocateDate.parse("2017-06-21")
val col = sCollection.typedBigQuery[Blah](query)
col.saveAsTypedBigQuery(
tableSpec = "test.test$" + date.format(DateTimeFormatter.ISO_LOCAL_DATE),
writeDisposition = WriteDisposition.WRITE_EMPTY,
createDisposition = CreateDisposition.CREATE_IF_NEEDED)
Я получаю сообщение об ошибке: идентификаторы таблиц должны быть буквенно-цифровыми (плюс подчеркивание) и иметь длину не более 1024 символов. Также нельзя использовать декораторы таблиц."
Как я могу написать в раздел? Я не вижу каких-либо опций для указания разделов с помощью метода saveAsTypedBigQuery, поэтому я пробовал устаревшие декораторы таблиц SQL.
1 ответ
Решение
См.: BigqueryIO Невозможно записать в таблицу с разделением по дате. Вам нужно вручную создать таблицу. BQ IO не может создать таблицу и разбить ее на части.
Кроме того, декораторы без стола были полной уловкой. Я пропустил буквенно-цифровую часть.
col.saveAsTypedBigQuery(
tableSpec = "test.test$" + date.format(DateTimeFormatter.BASIC_ISO_DATE),
writeDisposition = WriteDisposition.WRITE_APPEND,
createDisposition = CreateDisposition.CREATE_NEVER)