bigquery 嵌套和重复字段查询

Posted

技术标签:

【中文标题】bigquery 嵌套和重复字段查询【英文标题】:bigquery nested & repeated field query 【发布时间】:2016-11-04 07:26:59 【问题描述】:

我正在使用 bigquery 为 Firebase 分析查询创建一些示例。 我有这样的记录。

event_dim:[

  “name”:”MOVE”,

  “params”:[

     

         “key”:”npc_id”,

         “value”:

              "string_value": “11”,

              "int_value": null,

              "float_value": null,

              "double_value": null

            

     ,

     

         “key”:”posX”,

         “value”:

              "string_value": null,

              "int_value": null,

              "float_value": null,

              "double_value": “10.0”

            

     ,

     

         “key”:”posY”,

         “value”:

              "string_value": null,

              "int_value": null,

              "float_value": null,

              "double_value": “12.0”

            

     ,

]

我如何查询这些数据以获得这样的结果?

名称 | npc_id | posX |位置

移动| 11 | 10.0 | 12.0

【问题讨论】:

你能先看看这个过去的问题是否有帮助吗? ***.com/questions/40406286/… 【参考方案1】:

工作查询:

#StandardSQL
SELECT * FROM (
  SELECT 
    e.name, 
    (SELECT value.string_value FROM UNNEST(e.params) WHERE key = "item_name") AS item_name,
    (SELECT value.int_value FROM UNNEST(e.params) WHERE key = "value") AS value
  FROM 
    `firebase-analytics-sample-data.ios_dataset.app_events_20160601`,
    UNNEST(event_dim) as e
)
WHERE item_name IS NOT null

秘密是UNNEST嵌套事件记录,然后UNNEST嵌套参数,寻找具有正确键的那个。

【讨论】:

以上是关于bigquery 嵌套和重复字段查询的主要内容,如果未能解决你的问题,请参考以下文章

查询 Bigquery 重复字段

Google BigQuery - 更新嵌套的重复字段

在 BigQuery 中嵌套多个重复字段

如何在bigquery中获取重复嵌套字段的长度

在 Power BI 中使用 BigQuery 重复/嵌套字段

在 BigQuery 中查询双嵌套数组 [重复]