UNION表时如何在Bigquery中重新排列/重新排序嵌套的重复列
Posted
技术标签:
【中文标题】UNION表时如何在Bigquery中重新排列/重新排序嵌套的重复列【英文标题】:How to rearrange/reorder nested repeated column in Bigquery when UNION tables 【发布时间】:2021-10-22 04:04:47 【问题描述】:我有两个架构相似但顺序不同的 Bigquery 表
当使用下面的查询合并这两个表时,
select id, timestamp, products, count_total_visit, count_unique_session from table1
union all
select id, timestamp, products, count_total_visit, count_unique_session from table2
这是我得到的错误
UNION ALL 中的第 3 列具有不兼容的类型:ARRAY
>, ARRAY > at [...]
如何重新排列嵌套重复字段的架构顺序,以便通过保持架构格式与源表相同的方式合并2张表?
【问题讨论】:
【参考方案1】:下面会解决问题
select id, timestamp, products, count_total_visit, count_unique_session from table1
union all
select * replace (array(
select as struct * replace (array(
select as struct paiment_method, count_total_trx, sum_total_gbv, sum_total_revenue
from product.details
) as details
)
from t.products product
) as products)
from table2 t
【讨论】:
酷。这很简单,因为以前我认为必须先 UNNEST 才能重新排列列,然后再次创建嵌套。感谢您的回答。以上是关于UNION表时如何在Bigquery中重新排列/重新排序嵌套的重复列的主要内容,如果未能解决你的问题,请参考以下文章
当 Firebase Analytics 分区表中出现表时,在 Bigquery 中安排查询
从 DataFlow 加载到现有 BigQuery 表时是不是可以更新架构?