背景: 我将 Firebase 分析数据导出到 BigQuery。我正在使用 cron 作业来处理 BigQuery 中的数据以获得洞察力。
问题: 为了能够只处理增量数据,即自上次运行 cron 作业以来到达的数据,我需要一种方法来确定数据到达服务器的时间,因为event_timestamp是在客户端生成的,并且可以是发送前缓存在客户端。
见解: 我已经使用event_server_timestamp_offset(偏移量)进行了研究,我认为我可以将其与event_timestamp一起使用。但我预计偏移量只会是正数,但也可能是负数。当我查看整个导出的 Firebase 分析数据集中的偏移量的 MAX 和 MIN 并将其重新计算为年而不是微秒时,我可以获得超过 18 年的偏移量。
询问:
SELECT
MAX(event_server_timestamp_offset)/(1000000*60*60*24) max_days,
MIN(event_server_timestamp_offset)/(1000000*60*60*24) min_days
FROM
`analytics_<project_id>.events_*`
结果:max_days=6784.485790436655,min_days=-106.95833052104166
问题:
- 如何确定 Firebase 导出的 BigQuery 数据的服务器到达时间,以便我可以运行仅处理增量数据的 cron 作业?
- 我可以将event_server_timestamp_offset与event_timestamp一起使用吗?如果是这样,怎么做?
最好的问候,丹尼尔