В таблице chrome-ux-report.all.201910
и ранее у нас было поле с именем experimental.first_input_delay
. Начиная с chrome-ux-report.all.201911
те же данные были переименованы в first_input.delay
.
До этого изменения я использовал групповые запросы, например chrome-ux-report.all.*
, для агрегирования всех данных ГГГГММ, но теперь эти запросы не выполняются, потому что имя поля другое. Я ищу исправление, которое может вместить либо старые, либо новые имена полей. Вот упрощенный пример:
SELECT
COALESCE(first_input.delay.histogram.bin, experimental.first_input_delay.histogram.bin) AS fid
FROM
`chrome-ux-report.all.*`
Это приводит к ошибке, что first_input_delay
не существует в схеме для структуры experimental
:
Ошибка: имя поля first_input_delay не существует в STRUCT >>>> `at [2:58]
Конечно, в этой структуре существует поле для некоторых таблиц, охватываемых подстановочным знаком, но не для других. Кажется, валидатор просматривает только самые последние таблицы.
Так что мой вопрос: возможно ли использовать что-то вроде COALESCE
для размещения поля, которое переименовывается в таблицах? Я понимаю, что схема усложняет нам эту задачу, и лучшее решение - это использовать одну многораздельную таблицу, но я хотел бы услышать, можно ли это решить, учитывая нашу текущую настройку.