【发布时间】:2020-06-04 17:05:59
【问题描述】:
我在 Google BigQuery 中有一个表,其中有重复记录,我按照 https://cloud.google.com/bigquery/docs/nested-repeated 的指南成功创建了表,并使用一些测试数据填充了表
INSERT INTO `<project>.<dataset>.<table>` (<list of fields, ending with repeated record name>)
VALUES
(
"string1", false, 200.0, "string2", 0.2, 2.345, false, "2020-01-02 12:34:56",
[
("repeated field str1", CAST(2.01 AS FLOAT64), CAST(201 as NUMERIC), false),
("repeated field str2", CAST(4.01 AS FLOAT64), CAST(702 as NUMERIC), true)
]
);
(等) 并且表格已成功填充,我也可以查询数据
select * from <dataset>.<table>
并返回所有重复和不重复的字段。 我也可以成功从表中查询到非重复字段,只要查询中没有指定重复字段即可。 但是,当我想在查询中包含特定的重复字段时(并且我正在遵循https://cloud.google.com/bigquery/docs/legacy-nested-repeated 的指南),例如
SELECT normalfield1, normalfield2, normalfield3,
repeatedData.field1, repeatedData.field2, repeatedData.field3
FROM `profile_dataset.profile_betdatamultiples`;
我得到错误
Cannot access field <field name> on a value with type ARRAY<STRUCT<fieldname1 STRING, fieldname2 FLOAT64, fieldname3 NUMERIC, ...>> at [8:14]"
(令人讨厌的是,GCP 会截断错误消息,所以我看不到所有内容)
有什么建议可以在这里进行吗?
谢谢!
【问题讨论】:
标签: google-bigquery