如何从视图 bigquery 中进行选择?

Posted

技术标签:

【中文标题】如何从视图 bigquery 中进行选择?【英文标题】:How to select from views bigquery? 【发布时间】:2018-10-22 03:29:52 【问题描述】:

我想从 Bigquery 视图中检索我的实时 Google Analytics(分析)数据。附上我目前的查询:

select datetime(timestamp_micros(visitstarttime*1000000),"Asia/Jakarta") as ga_datetime
, device.operatingSystem as ga_os
, trafficSource.source as ga_source
, trafficSource.medium as ga_medium
,COUNT(DISTINCT CONCAT(CAST(fullvisitorid AS string),CAST(visitid AS string))) AS ga_session
from `43864393.ga_realtime_sessions_view_201810*` 
where _TABLE_SUFFIX between '01' and '31'
group by 1
, 2
, 3 
, 4

我正在使用标准 SQL 和 Bigquery 返回

无法通过前缀查询视图

更新:

我的 bigquery 中有以下视图:

ga_realtime_sessions_view_20181017 ga_realtime_sessions_view_20181018 ga_realtime_sessions_view_20181019 直到ga_realtime_sessions_view_20181031

我想从所有这些视图中进行选择。 我该如何解决这个问题?

【问题讨论】:

看来从43864393.ga_realtime_sessions_view_201810* 中选择无效。你想选择什么? 嗨@TimBiegeleisen 我已经更新了我上面的帖子。 当您说 "view" 时,您是指实际的 BigQuery 视图吗?如果您将查询包装在视图中,则不能使用通配符:cloud.google.com/bigquery/docs/views-intro#view_limitations 【参考方案1】:

您不能在视图中使用通配符。如果您仍想组合结果,您可能需要查看 UNION ALL

您可以在标准 SQL 中使用 UNION ALL 来组合来自多个表/视图的结果。

这是一个使用 UNION ALL 的示例查询

WITH subQ1 AS (SELECT column1 FROM view_1),
     subQ2 AS (SELECT column1 FROM view_2)
SELECT * FROM subQ1
UNION ALL
SELECT * FROM subQ2;

请参阅此处的文档

UNION ALL

【讨论】:

以上是关于如何从视图 bigquery 中进行选择?的主要内容,如果未能解决你的问题,请参考以下文章

如何分别使用服务帐号和 API 密钥来使用 BigQuery?

如何从 CIDR BigQuery 获取 From & To IP 地址

如何在视图或计划查询之间进行选择,以对通过 Stitch 导入的 BigQuery 表进行重复数据删除?

如果我查询 Bigquery 视图,如何计算定价?

如何使用 dplyr 和 bigquery 从 Bigquery 数据集中的多个表中进行选择?

如何从基于嵌套 json 的 BigQuery 表中进行选择?