All*_*len 5 firebase google-bigquery
我有两个 Firebase 项目(一个 iOS 和一个 Android)输入 Bigquery。我需要将两个项目中的一些特定数据组合、展平和聚合到一个组合表中,以便我可以报告它而无需查询所有日常表中的所有行。
为了填充这个聚合表,我目前有两个 python 脚本每 5 分钟查询一次 iOS 和 Android 盘中表。该脚本从聚合表中获取最大时间戳,然后查询日内表以获取任何具有更大时间戳的记录(我分别跟踪 iOS 和 Android 的最大时间戳,因为它们经常不同)。
我正在使用此(缩写)通配符语法查询盘中表:
SELECT yadda, yadda, timestamp_micros, 'ios' as platform
FROM `myproject.iOSapp.app_events_intraday*`
WHERE timestamp_micros > (Select max(timestamp_micros)
from myAggregateTable WHERE platform = 'ios' )
Run Code Online (Sandbox Code Playgroud)
当日内表格翻转到新的一天时,当我的脚本在 23:57 运行然后在 00:02 再次运行时,我会错过任何记录吗?
All*_*len 16
I thought I would post the results of my testing this for a few months. Here are the basic mechanics as I see them:
DAY1 intraday table is created at midnight GMT (xyz.app_events_intraday_20180101)DAY224 小时后创建新的日内表 ( xyz.app_events_intraday_20180102),但DAY1日内表会保留几个小时DAY1表被“重命名”为xyz.app_events_20180101,您只剩下一个(当前)日内表我的测试表明,即使在进行了第 3 步之后,额外的数据也会添加到app_events_*表中,因此一旦名称更改,假设数据是稳定/静态的并不安全。我有新数据出现最多 2 或 3 天后。
| 归档时间: |
|
| 查看次数: |
1674 次 |
| 最近记录: |