Google BigQuery: добавьте дату к имени таблицы при создании таблицы - PullRequest
2 голосов
/ 04 февраля 2020

Я пишу запрос, который планирую запланировать, используя Big Query UI.

Я хотел бы добавить _TABLE_SUFFIX к этой таблице, равной CURRENT_DATE.

Как мне этого достичь?

Это запрос, над которым я работаю:

IF 
  today != DATE_SUB(DATE_TRUNC(CURRENT_DATE(), MONTH), INTERVAL 1 DAY)
THEN 
  CREATE TABLE `project.dataset.tablename_<insert_current_date_here>`
  AS
  SELECT CURRENT_DATE() as today;
END IF;

1 Ответ

2 голосов
/ 04 февраля 2020

Лучше всего было бы динамически сгенерировать запрос, а затем выполнить его статически.

Это можно сделать, используя что-то вроде python.

из datetime import datetime

def get_query():
    return '''IF 
    today != DATE_SUB(DATE_TRUNC(CURRENT_DATE(), MONTH), INTERVAL 1 DAY)
    THEN 
    CREATE TABLE `project.dataset.%s`
    AS
    SELECT CURRENT_DATE() as today;
    END IF;''' % str(datetime.now())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...