BigQuery 中的 Unnest 导致“数组”错误

Posted

技术标签:

【中文标题】BigQuery 中的 Unnest 导致“数组”错误【英文标题】:Unnest in BigQuery leading to "Array" error 【发布时间】:2019-11-04 07:35:10 【问题描述】:

我正在接手一位前同事的工作,并尝试在此基础上再接再厉。他的工作导致取消嵌套父类别,我正在尝试为另一个类别实现相同的目标。但是,由于 Array 结构,我的额外取消嵌套会导致错误 - 这就是为什么我想在第一场比赛中取消嵌套,对吧? :(

请看附图

(错误代码是:“无法访问字段refund_line_items 的值 类型为 ARRAY>,id INT64,processed_at 时间戳,...>> 在 [19:16]")

任何帮助将不胜感激!

【问题讨论】:

【参考方案1】:

如果我正确理解了您的表架构。 refunds 是一个数组,所以你需要取消嵌套数组字段然后访问它里面的结构字段,比如

SELECT refund.refund_line_items
FROM orders
JOIN UNNEST(refunds) refund

查看更多信息:Querying STRUCT elements in an ARRAY

【讨论】:

以上是关于BigQuery 中的 Unnest 导致“数组”错误的主要内容,如果未能解决你的问题,请参考以下文章

BigQuery:使用 UNNEST 检查数组的内容

Google BigQuery:UNNEST 结构数组和未嵌套项作为结构

Google Bigquery 外部加入 UNNEST

一次选择中的 Bigquery 多个 unnest

Bigquery:UNNEST 重复与展平表性能

查看 Google Analytics 时如何 UNNEST 和展平 BigQuery 中的所有记录