gpt4 book ai didi

google-analytics - 向 BigQuery 中的历史表添加新字段

转载 作者:行者123 更新时间:2023-12-03 02:07:30 26 4
gpt4 key购买 nike

我每天都会将 Google Analytics(分析)数据导出到 BigQuery,这些数据构成了我们主要报告数据集的基础。

随着时间的推移,我需要为我们用来丰富数据的其他内容添加新列 - 例如从 url 到“报告类别”的映射。

这很容易作为新列添加到已处理的表中(目前我们所做的所有丰富操作大约有 10 个处理步骤)。

这个问题是利益相关者是否会问 - 我们可以将新列添加到历史数据中吗?

目前我需要重新运行所有日常工作,这是非常缓慢且昂贵的。

这种情况出现得足够频繁,以至于我正在认真考虑重新设计我的数据管道,以适应这样一个事实:当我需要添加新字段或时,我经常需要时不时地删除并重新创建所有数据。纠正旧的脏数据什么的。

我只是想知道是否有更好的方法

  1. 向 BQ 中的旧表添加一个新列(对于这些情况,我很乐意手动执行此操作,在这些情况下,我可以根据我定义的 ga [hit_key] 加入新列,这基本上是一个行键)
  2. (不太常见)根据某些条件更新现有表。

只是想知道什么是最佳实践,是否有人遇到过类似的问题,您基本上需要更新历史 Shema,以及是否有方法可以做到这一点,而不只是删除和重新创建,这基本上就是我目前正在做的事情。

为了更清楚地说明我当前的方法:我正在使用 [ga_sessions_yyyymmdd] 表并制作一系列 [ga_data_prepN_yyyymmdd] 表,其中在每个步骤中添加新列或以某种方式减少数据。现在有 11 个这样的步骤,每次我都会带着所有 100 个或更多的列一起走。这就是我要尝试的设计,因为目前每个阶段 90% 的列甚至不需要触摸,因为它们可以在最后重新连接起来,可能基于 hit_key 或其他东西。

虽然尝试分开有点困惑。

最佳答案

可以将新列添加到现有历史表的架构中,但新添加列的值将为 NULL。如果您确实需要将值填充到这些列中,最好的方法可能是使用 UPDATE DML 语句。有关如何尝试的更多详细信息,请参见:Does BigQuery support UPDATE, DELETE, and INSERT (SQL DML) statements?

关于google-analytics - 向 BigQuery 中的历史表添加新字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39166579/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com