Google bigquery Google BigQuery:在创建表时向表名添加日期
我正在编写一个查询,我计划使用大查询UI安排查询 我想在此表中添加一个_TABLE_后缀,该后缀等于当前日期 我怎样才能做到这一点 这是我正在处理的查询:Google bigquery Google BigQuery:在创建表时向表名添加日期,google-bigquery,Google Bigquery,我正在编写一个查询,我计划使用大查询UI安排查询 我想在此表中添加一个_TABLE_后缀,该后缀等于当前日期 我怎样才能做到这一点 这是我正在处理的查询: IF today != DATE_SUB(DATE_TRUNC(CURRENT_DATE(), MONTH), INTERVAL 1 DAY) THEN CREATE TABLE `project.dataset.tablename_<insert_current_date_here>` AS SELECT C
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;
IF
今天!=日期子项(日期(当前日期(),月份),间隔1天)
然后
创建表`project.dataset.tablename_`
作为
选择当前日期()作为今天;
如果结束;
最好是动态生成查询,然后静态执行
这可以使用python之类的东西来完成
从日期时间导入日期时间
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())
BigQuery支持计划查询中的目标表名称。要将当前日期添加到表名,请使用提供的模板语法。例如,tablename{run_time}%Y%m%d}
将输出tablename\u YYYYMMDD
FYI,关于reddit的相关讨论。我的建议是使用分区表,以获得更好的性能。