首页 > 解决方案 > BigQuery Google Analytics 导出处理时间管理

问题描述

我们公司在 BigQuery 中有许多时间表报告,它们生成 Google Analytics 数据的聚合表。因为我们无法控制何时将 Google Analytics(分析)数据导入我们的 BigQuery 环境,所以我们一直有几天没有数据。

这意味着我们必须手动运行缺失日期的数据。

我已经编辑了我的计划查询以继续推迟计划查询运行的时间,但它现在在上午 8 点左右运行。这些查询用于利益相关者的报告,利益相关者更早地请求它们。有什么方法可以确保 Google Analytics 导出到 BigQuery 的处理时间?

如果请求的表尚不可用,您还可以考虑稍后重新运行的计划查询解决方案。

标签: google-bigquery

解决方案


您目前无法向 BigQuery 计划查询添加条件触发器。

您可以使用以下代码和以下代码的组合手动为查询添加故障保护以检查昨天的表DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY)

 SELECT
 MAX(FORMAT_TIMESTAMP('%F %T', TIMESTAMP(PARSE_DATE('%Y%m%d',
 REGEXP_EXTRACT(_TABLE_SUFFIX,r'^\d\d\d\d\d\d\d\d')))  ))
 FROM `DATASET.ga_sessions_*`  AS ga_sessions

显然,如果不满足条件并且不会重试,这将失败,我理解这不是您当前设置的进步。

我过去曾多次遇到这种情况,最终不得不将我的数据管道移动到另一个解决方案,因为计划查询仍然非常简单。

我建议您查看 CRMint 以了解 BigQuery 的简单管道: https ://github.com/google/crmint

如果您仍然觉得这太简单了,那么您应该查看Google Cloud Composer,您可以在其中检查表是否存在,然后再在管道中运行特定作业:


推荐阅读