Конвертировать представление в таблицу в BigQuery - PullRequest
0 голосов
/ 24 марта 2019

Дано:

Daily(t) - таблица, содержащая события со дня t (изменяемые только в течение дня t)

Agg(t) - таблица, содержащая агрегацию всех исторических событий до дня t (неизменная после дня t)

В течение дня t, пока Daily(t) все еще изменчив, я определяю представление V_Agg(t) следующим образом:

V_Agg(t)=q(Agg(t-1), Daily(t)) - (q является агрегирующим запросом)

Поскольку Daily(t) не меняется после дня t, когда день t заканчивается, я бы хотел "материализовать" V_Agg(t), превратив его в Agg(t), чтобы V_Agg(t+1) работал с ним.

При реализации этого процесса я понял, что на самом деле достаточно Agg(t) и Daily(t). Я могу иметь Agg(t) в качестве представления в течение дня t, и в какой-то момент в течение дня t (не имеет значения, когда) я могу заменить теперь неизменное представление Agg(t-1) таблицей с таким же именем (Agg(t-1)).

Это избавит меня от необходимости поддерживать V_Agg(t) и в целом будет более стабильным (я могу создать Agg(t) независимо от процесса, который превращает Agg(t-1) из представления в таблицу).

Однако я не смог найти способ написать таблицу поверх представления с тем же именем. Попытка так дает ... is not allowed for this operation because it is currently a VIEW.

Возможно ли это решение транзакционным способом (без удаления представления за один шаг и создания таблицы)? Если так - как?

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