Открытая рамка даты для представления BigQuery (StandardSQL) - PullRequest
0 голосов
/ 18 сентября 2018

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

Я использую что-то вроде

FROM `whatever.ga_sessions_201*` as GA WHERE _TABLE_SUFFIX BETWEEN '70101' AND '81231'

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

Заранее спасибо!

1 Ответ

0 голосов
/ 18 сентября 2018

Вы можете сделать что-то вроде этого:

WITH CTE AS
(SELECT max(_TABLE_SUFFIX) tableSuffix
FROM `projectname.dataset.table_*`)

SELECT *
FROM `projectname.dataset.table_*`
join CTE ON _table_suffix = tableSuffix

Может быть дорого с большим количеством столов?

Может быть, лучше использовать оператор WHERE и вычислить необходимую дату по current_date, но я ценю, что таблицы GA не всегда приходят в установленное время.

...