来自 ARRAY<STRUCT<STRING, STRING>> 的 BigQuery 未嵌套内部字符串列
Posted
技术标签:
【中文标题】来自 ARRAY<STRUCT<STRING, STRING>> 的 BigQuery 未嵌套内部字符串列【英文标题】:BigQuery unnest inner string column from ARRAY<STRUCT<STRING, STRING>> 【发布时间】:2021-11-15 17:04:48 【问题描述】:我无法在这里创建可重现的示例,因为我不太确定如何使用 ARRAY
而我们只是试图将 year 变成自己的列。我们尝试显而易见的:
select
customValues.year as year
from dataset.our_table
并得到错误Cannot access field year on a value with type ARRAY<STRUCT<year STRING, statCrewShirtNumber STRING>>
。所以这不是一个基本结构,而是一个数组内部的结构。我们如何为year
创建一个单独的列?
【问题讨论】:
【参考方案1】:您需要首先取消嵌套数组,如下例所示
select customValue.year as year
from `dataset.our_table` t,
t.customValues as customValue
【讨论】:
【参考方案2】:使用这个示例表,我在数组中也有一个结构。您可以简单地使用UNNEST 为每个字段设置单独的列。
请参阅下面的查询:
SELECT gender FROM `sandbox.test_table`, UNNEST(bikerides)
结果:
【讨论】:
以上是关于来自 ARRAY<STRUCT<STRING, STRING>> 的 BigQuery 未嵌套内部字符串列的主要内容,如果未能解决你的问题,请参考以下文章