gpt4 book ai didi

google-bigquery - BigQuery 错误 : Cannot partition on repeated field

转载 作者:行者123 更新时间:2023-12-04 11:50:32 25 4
gpt4 key购买 nike

我有两张 table table1 (具有重复/记录列的复杂列)和 table2 (相当简单)。我正在尝试创建一个包含来自 table1 的所有列的新表一列来自 table2使用以下查询:

select t1.id, t1.experience.desc, t1.experience.organization.*, t1.experience.department, t2.field2 as t1.experience.organization.newfield, t1.family_name
from [so_public.table1] as t1 left join each [so_public.table2] as t2
on t1.experience.organization.name = t2.field1

我收到一个错误 无法对重复字段进行分区 如下图所示。这两个表的模式也显示在它们各自的图像中。

当想要合并两个表中的数据时,这里是否有一般的经验法则?我正在尝试做的事情可能吗?

实际的表格要复杂得多。我只展示了足以重现问题的上下文。

Query with error
Table1 schema
Table2 schema

最佳答案

在加入表格之前,您需要 FLATTEN() 表格。

这不起作用:

SELECT a.fullName, b.fullname
FROM [bigquery-samples:nested.persons_living] a
JOIN [bigquery-samples:nested.persons_living] b
ON a.citiesLived.place=b.citiesLived.place
LIMIT 1000

Error: Cannot join on repeated field citiesLived.place

这样做:
SELECT a.fullName, b.fullname
FROM FLATTEN([bigquery-samples:nested.persons_living], citiesLived) a
JOIN FLATTEN([bigquery-samples:nested.persons_living], citiesLived) b
ON a.citiesLived.place=b.citiesLived.place
LIMIT 1000

关于google-bigquery - BigQuery 错误 : Cannot partition on repeated field,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30466202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com