bigquery loadJob для json - принудительное определение поля String в автоопределении схемы - PullRequest
0 голосов
/ 15 ноября 2018

, если в начале json содержит

"label": "foo"

и позже это

"label":" 123 "

bigquery возвращает

Invalid schema update. Field label has changed type from STRING to INTEGER 

, хотя это" 123 ", а не 123.

файл загружается с

автоопределение: true

есть ли способ заставить bigquery сделать любое поле в виде строки, когда оно применяет свое автоопределение, или единственный способ использованияCSV вместо?

1 Ответ

0 голосов
/ 15 ноября 2018

Автоматическое обнаружение основано на максимальных усилиях по распознаванию типа данных путем сканирования до 100 строк данных для использования в качестве репрезентативной выборки.Нет никакого способа дать представление о том, какой это тип шрифта.Вы можете указать вручную схему для вашего варианта использования.

UDATE:

Я проверил, чтобы загрузить файл только с {"label" : "123"}, и он распознается какINTEGER.Следовательно, автоопределение распознает "123" как INGETER независимо от того, есть кавычки или нет.Для вашего случая вы можете экспортировать схему из существующей таблицы, как объяснено в документации:

Примечание. Вы можете просмотреть схему существующей таблицы в формате JSONвведя следующую команду: bq show --format = prettyjson [DATASET]. [TABLE].

и использовать ее для дальнейшей динамической загрузки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...