BigQuery:如何动态查询Firebase每日事件表?

时间:2019-05-19 12:20:34

标签: sql google-bigquery firebase-analytics

我想安排一个查询,该查询从Firebase每日事件表(前一天)获取数据并更新另一个表。 (我可以通过手动指定源全表名来工作)

我认为事件表只是一个分区表,但看起来却不一样。
这是用户界面上的样子:

enter image description here
如您所见,events_下实际上有16个表,它们实际上是每日表。
如何动态指定要查询的表的名称?

这是我尝试过的方法,但显然不起作用:(数字已更改)

SELECT * 
FROM `appname-11111.analytics_11111111.events_`
WHERE _PARTITIONTIME = FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY))

1 个答案:

答案 0 :(得分:3)

我想您要这样:

SELECT * 
FROM `appname-11111.analytics_11111111.events_*`
WHERE _TABLE_SUFFIX = FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY))

有关更多阅读信息,请参见wildcard tables文档。简短的摘要是,事件“表”实际上是具有公共前缀的表的集合(与分区表不同,分区表是具有多个日期的单个表),并且*语法使您可以在多个位置引用多个表一次。