在 BigQuery SQL 中压缩表数组行
Posted
技术标签:
【中文标题】在 BigQuery SQL 中压缩表数组行【英文标题】:Condensing Table Array Rows in BigQuery SQL 【发布时间】:2018-11-06 22:28:41 【问题描述】:我想使用 BigQuery 标准 SQL
我有一个看起来像这样的表:
如何折叠每一行?例如,第一行看起来像这样:
row Canopus_id facebook id wikipedia freebase musicbrainz
1 10043474 21258... Q557 Patt_Smith /m/05qw5 d1358...
本质上,我们以这样一种方式折叠行,它会尝试为一列找到一个填充的条目,如果有一个填充的条目(在第一个或第二个单元格中)将是值。否则,将有一个空值。
【问题讨论】:
每个显示的列实际上是一个单独的重复字段还是一个重复记录? - 很高兴看到表/数据的架构 @javacash 。 . .我很好奇这些列的类型是什么。数组不支持NULL
元素。
【参考方案1】:
这是一种方法:
select row,
(select max(facebook) from unnest(facebook) facebook) as facebook,
(select max(id) from unnest(id) id) as id,
. . .
from t;
【讨论】:
以上是关于在 BigQuery SQL 中压缩表数组行的主要内容,如果未能解决你的问题,请参考以下文章
使用应用程序脚本在 Big Query 中创建视图 |错误:对 bigquery.tables.insert 的 API 调用失败并出现错误:缺少必需的参数(第 21 行