插入表中包含BigQuery中的重复记录

时间:2019-09-18 09:50:20

标签: sql google-bigquery

我在BigQuery中有一个表,表的结构非常复杂(最多2300列)

在这些列中,我有RECORD类型字段,其中一些处于REPEATED模式,

insert语句由处理器在代码中生成, 但是在BigQuery Web-UI上测试此插入语句时,我看到一个错误, 在调查了这个问题之后,我发现插入数组的方式不正确。

INSERT INTO Table_X (RECORD_FIELD) VALUES (
...

STRUCT([STRUCT(X), STRUCT(Y)]) as property_z
...

此格式是否适合插入REPEATED字段?

INSERT INTO TABLE_NAME (columns) VALUES (STRUCT([ STRUCT(...), STRUCT(...) ]), ...)

1 个答案:

答案 0 :(得分:1)

重复的字段是数组,因此您想将它们插入为数组:

INSERT INTO TABLE_NAME (repeated_column)
    VALUES (ARRAY[ STRUCT(...), STRUCT(...) ]);

请注意,数组是一列,您也可以在INSERT中包括其他列的值。