如何在 Big Query 中查询 Firebase Analytics 事件表的多个分区
Posted
技术标签:
【中文标题】如何在 Big Query 中查询 Firebase Analytics 事件表的多个分区【英文标题】:How to query multiple partitions of a Firebase Analytics events table in Big Query 【发布时间】:2018-12-29 00:22:22 【问题描述】:我正在从 Firebase Analytics 表中查询。
我使用的表每天都有一个分区。以下是各种日常分区的一些示例:
arm_studio.analytics_177892322.events_20180628
rm_studio.analytics_177892322.events_20180627
arm_studio.analytics_177892322.events_20180629
基本上我在问如何查询表的 .all (每个分区)。即记录的每个日期的分区。在 n 天前查询也很好。
我浏览了有关分区表的 BQ 文档,但常规语法似乎无法按预期工作。我还注意到,正常的分区表只有表名后面的日期,而不是上面示例中所示的“.events_[date]”。
目前我只是合并每个非常长且显然不可扩展的分区。有人有查询这些表的经验吗?
【问题讨论】:
cloud.google.com/bigquery/docs/querying-wildcard-tables 【参考方案1】:要查询所有日期的事件,请使用通配符:
FROM arm_studio.analytics_177892322.events_*
要查询特定月份或年份的事件,请使用通配符并保留月份或年份前缀,例如:
FROM arm_studio.analytics_177892322.events_201806*
或
FROM arm_studio.analytics_177892322.events_2018*
要设置任意分区过滤器,请使用_TABLE_SUFFIX
列:
FROM arm_studio.analytics_177892322.events_*
WHERE _TABLE_SUFFIX BETWEEN '20180627' and '20180630'
【讨论】:
以上是关于如何在 Big Query 中查询 Firebase Analytics 事件表的多个分区的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Big Query 的标准 SQL 中使用通配符为特定分区查询多个表
如何在 Google Big Query 中正确使用 GROUP BY 命令?
如何使用计划查询刷新 Google Big Query 中的现有表?