google-bigquery - BigQuery Google Analytics 导出处理时间管理
问题描述
我们公司在 BigQuery 中有许多时间表报告,它们生成 Google Analytics 数据的聚合表。因为我们无法控制何时将 Google Analytics(分析)数据导入我们的 BigQuery 环境,所以我们一直有几天没有数据。
这意味着我们必须手动运行缺失日期的数据。
我已经编辑了我的计划查询以继续推迟计划查询运行的时间,但它现在在上午 8 点左右运行。这些查询用于利益相关者的报告,利益相关者更早地请求它们。有什么方法可以确保 Google Analytics 导出到 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,您可以在其中检查表是否存在,然后再在管道中运行特定作业:
推荐阅读
- java - 如何在Java中保存图像?
- javascript - 如何在 sequelize 对象上创建一个方法,以检查是否创建了另一个与之关联的对象?
- html - 将项目与底部对齐,同时在 flexbox 中保持拉伸
- mysql - MYSQL 删除连字符然后获取当前日期的前几个字符
- python - python中的for循环以获取查询集中的第n个元素
- r - R HighCharter - 没有要显示的数据
- python-3.x - 值错误():找到样本数量不一致的输入变量:[10540, 42158]
- html - 这个用户代理样式表代码是什么意思?
- php - 我有一个数组,我想将其更改为多维数组。我怎样才能做到这一点?
- swift - 从 Core Data 加载 NSManagedObject 时,我可以免费获得它的孩子吗?