在bigquery中查询嵌套数据

Querying nested data in bigquery

我正在尝试提取按主机名过滤的bigquery google Analytics(分析)数据中的所有列。
但是,结果仍显示其他主机名,如屏幕截图所示。
我正在使用过滤器进行选择,以将数据复制到具有相同架构的另一个数据集。 enter

1
SELECT g.* FROM `10241241.ga_sessions_20160805` g, UNNEST (hits) as hits WHERE hits.page.hostname="www.googlemerchandisestore.com"

已更新
如何在不更改其嵌套结构的情况下复制同一模式?

error

1
2
3
4
5
6
7
SELECT
  *
  REPLACE(
    ARRAY(SELECT AS STRUCT * FROM g.hits WHERE page.hostname='www.googlemerchandisestore.com') AS hits
    )
FROM `bigquery-public-data.google_analytics_sample.ga_sessions_20160805` g
limit 1000

排除不包含值

的行

1
2
3
4
5
6
SELECT
  *
FROM `bigquery-public-data.google_analytics_sample.ga_sessions_20160805` g
WHERE
  (SELECT COUNT(1)>0 FROM g.hits WHERE page.hostname='www.googlemerchandisestore.com')
limit 1000


您不应再添加点击数列。另外,我建议您对未套用的列使用其他名称。这样会更容易理解。

1
2
3
SELECT g.* EXCEPT(hits), hit
FROM `10241241.ga_sessions_20160805` g, UNNEST (hits) as hit
WHERE hits.page.hostname="www.googlemerchandisestore.com"