【发布时间】:2019-06-25 11:06:26
【问题描述】:
将 Google Analytics(分析)数据导出到 Google BigQuery 时,您可以设置一个实时表,其中实时填充了 Google Analytics(分析)数据。但是,由于分布式计算的最终一致性,此表将包含重复项。
为了克服这个问题,Google 提供了一个过滤掉重复项的视图。但是,此视图不能使用标准 SQL 进行查询。
如果我尝试使用标准查询:
无法在标准 SQL 查询中引用旧版 SQL 视图
我们已经在 Standard 上进行了标准化,当我们想在实时数据上使用它们时,我很犹豫是否将我们所有的批处理查询重写为旧版。有没有办法将实时视图切换为标准视图?
编辑:
这是视图定义(由 Google 每天重新创建):
SELECT *
FROM [111111.ga_realtime_sessions_20190625]
WHERE exportKey IN (SELECT exportKey
FROM
(SELECT
exportKey, exportTimeUsec,
MAX(exportTimeUsec) OVER (PARTITION BY visitKey) AS maxexportTimeUsec
FROM
[111111.ga_realtime_sessions_20190625])
WHERE exportTimeUsec >= maxexportTimeUsec );
【问题讨论】:
-
定义视图的查询是什么?
-
SELECT * FROM [111111.ga_realtime_sessions_20190625] where exportKey in ( SELECT exportKey FROM ( SELECT exportKey, exportTimeUsec, MAX(exportTimeUsec) OVER (PARTITION BY visitKey) AS maxexportTimeUsec FROM [111111.ga_realtime_sessions_20190625] ) WHERE exportTimeUsec >= maxexportTimeUsec ); -
您能否将其添加到问题中而不是评论中?这样人们会更容易阅读。
标签: google-bigquery