BigQuery已设表永不过期但仅存60天数据,需保留1年求解决方案
解决BigQuery仅能查询最近60天数据的问题
排查方向及调整方案
检查GA4/Firebase数据导出的历史回溯设置
就算把表的过期时间改成永不过期,GA4和Firebase的导出任务默认只同步开启导出后的新数据,不会自动拉取之前的历史数据。你得确认有没有开历史回溯:- GA4那边:在BigQuery导出设置里,看看是不是勾选了“回溯历史数据”,最多能回溯14个月,但得在配置导出的时候就设置好,后来改表过期时间不会触发回溯。
- Firebase那边:同样在BigQuery集成设置里查有没有启用历史数据导出,要是之前没开,得重新配置导出并选好回溯范围。
验证分区表的分区级保留策略
GA4/Firebase导出的表默认是分区表,除了表级的过期时间,还得查分区级的保留设置:- 打开BigQuery控制台,找到对应的数据集和表
- 进表的详情页,看“分区”配置
- 确认分区的过期时间是不是也设成了“永不过期”,有些情况分区级设置会覆盖表级的
检查数据集的默认过期时间
数据集的默认过期时间会影响新创建的表,虽然你改了现有表,但还是得确认:- 进数据集详情页,看“默认表过期时间”是不是“永不过期”,别让后续新的分区表继承错了规则
确认导出任务是否一直在运行
查GA4/Firebase的BigQuery导出任务是不是活跃状态:- 要是任务断过,那段时间的数据可能没同步到BigQuery,得重新触发同步或者找谷歌云支持恢复缺失的历史数据
要是上面这些都查过还是查不到超过60天的数据,直接在谷歌云控制台提交支持工单,把项目ID、数据集和表名给他们,让技术团队排查后台配置有没有异常。
内容的提问来源于stack exchange,提问作者Mina
相关产品推荐
相关产品推荐

