Предоставленная схема не соответствует таблице при добавлении

У меня есть большой выбор с соединениями, где обе таблицы имеют одинаковый размер, поэтому для его обработки я ограничиваю выбор в правой таблице фрагментами (используя %), а затем запускаю один и тот же выбор несколько раз, по одному для каждого фрагмента и добавить в целевую таблицу.

Процесс отлично работает для фрагментов 0,1,2, но для любого последующего фрагмента он дает сбой и утверждает, что «Предоставленная схема не соответствует таблице».

Вот некоторые из неудачных заданий:

job_01eb892ab77c49f2ab5a7d24fa19ea96 (chunk 3)
job_ae450380bacd42b8aae7b7b350a8bd61 (chunk 4)
job_6f40617d0e6046e7b474dffef220ade7 (chunk 5)
job_edfbf86b95364efba3a21ae855827eb4 (chunk 6)

Если я удалю таблицу и запущу первый неудачный фрагмент (3) изолированно (job_bbbd3c8b56594725a3d3933c79f96286), он будет работать нормально, и схема в новой таблице будет такой же, как и ожидалось.

Если я выборочно обрабатываю фрагменты 0,1,3,4, фрагмент 3 работает нормально, а теперь он дает сбой на 4 (job_76c3addb316644f595988cbc393ffa8a), если я запускаю фрагменты 2,3,4,5, он терпит неудачу на фрагменте 5 (job_c5d99e0fa6b0481b8e5ea6b5d6f26271).

Похоже, проблема в BQ не позволяет добавить четвертый фрагмент (каким бы он ни был) в целевую таблицу и дает неверное описание ошибки.

Какие-либо предложения? Спасибо


person Juan Cervera    schedule 20.08.2012    source источник


Ответы (2)


Это похоже на ошибку, из-за которой, когда мы начинаем записывать результаты таблицы на диск, мы делаем это с немного другим форматом схемы. Я проверил исправление, но, скорее всего, оно не будет доступно до релиза на следующей неделе.

person Jordan Tigani    schedule 21.08.2012
comment
Спасибо, Джордан, если вы сообщите мне, когда исправление будет установлено, я проверю это для вас. С уважением - person Juan Cervera; 22.08.2012

Я думаю, что это известная ошибка, когда результаты запроса возвращают непредсказуемые режимы полей (обязательные и необязательные). IIRC вы можете играть в игры с AS или IF(), чтобы принудительно установить дополнительный флаг.

person Jordan Tigani    schedule 20.08.2012
comment
Привет, я не уверен, как устанавливаются режимы полей при создании таблицы, но у меня есть AS для каждого поля, и для тех полей, которые могут быть нулевыми, у меня есть IFNULL(), поэтому я не уверен, что причиной могут быть полевые моды, так как результаты должны быть стабильными. Спасибо - person Juan Cervera; 21.08.2012