如何处理 BQ GA 导出更改?

Posted

技术标签:

【中文标题】如何处理 BQ GA 导出更改?【英文标题】:How to Handle BQ GA Export Changes? 【发布时间】:2016-11-17 12:21:59 【问题描述】:

我正在尝试重新处理 ga_sessions_yyyymmdd 数据,但我发现 ga_sessions 从未使用过名为 [channelGrouping] 的字段,但在更新的数据中确实如此。

所以我的工作适用于最新版本的 ga_sessions,但是当我尝试重新处理earleir ga_sessions 数据时,工作失败,因为它缺少 [channelGrouping] 字段。

显然这通常是您想要的,但在这种情况下并非如此。我想确保我坚持使用最新的 ga_sessions 架构,并且希望这项工作在缺失的列不存在时将其设置为空。

有没有办法解决这个问题?

也许我需要创建一个名为 ga_sessions_template_latest 的空表并将其合并到我正在处理的任何 ga_sessions_ 每日表中 - 也许这会将旧的 ga_sessions“升级”到新结构。

附件是我的意思的截图(由于 ga_sessions 中的嵌套字段,我的联合想法实际上会很糟糕)。

【问题讨论】:

尝试将 SQL Legacy 转录为 SQL Query,第二个是 Google 在以前发生过类似情况时推荐的。寻找更多信息:cloud.google.com/bigquery/docs/reference/standard-sql这是架构失败的地方***.com/questions/40654768/… 【参考方案1】:

我还没有这样的脚本。但由于这些表在您的项目下,您可以更新它们。您可以编写脚本并更新所有表的架构,这些表缺少最新架构集中的列。

我设想了一个获取最新表模式的脚本。 然后逐一返回到过去的表,进行比较,识别缺失的列,将它们定义为不需要且可为空,然后读取架构 + 应用附加列并在表上运行更新。数据不会被修改,您只会有额外的带有空值的列。

您也可以从 Web UI 中尝试一些。

【讨论】:

以上是关于如何处理 BQ GA 导出更改?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 WHERE 子句中使用 hits.customDimensions.index 查询 GA 导出到 BQ 模式?

如何处理 Android 应用程序中的版本更改

如何处理 ViewModel 中的配置更改

如何处理 UIAutomation 中的文本通知?

React context dispatch 状态改变后如何处理

如何处理自定义 android 视图/小部件的可见性更改