Bigquery 创建具有重复记录的视图

Big Query Create View with Repeated Record

我们有一系列包含重复记录的架构表,如下所示:

[{
    name: "field1",
    type: "RECORD",
    mode: "REPEATED",
    fields: [{type: "STRING", name: "subfield1"}, {type: "INTEGER", name: "subfield2"}]
}]

当我们创建包含该重复记录字段的视图时,我们总是会收到错误消息:

Error in query string: Field field1 from table xxxxx is not a leaf field.

我知道使用展平可能会更好,但所有这些字段主要包含我们要测试的不同过滤器,而且我们还有许多其他非重复字段,如果展平将难以管理。

原来问题出在从多个表中选择重复的记录字段(不是在创建视图中)。有没有简单的方法来解决这个问题?

谢谢

如果你这样做 SELECT field.* from t1, t2 你会得到一个错误,指出 * 不能用于引用联合中的字段(正如你在上面注意到的那样)。

您可以通过将联合包装在内部 SELECT 语句中来解决此问题,如 SELECT field.* from (SELECT * from t1, t2).

举个具体的例子,这个可行:

SELECT payload.pages.* 
FROM (
    SELECT *  
    FROM [publicdata:samples.github_nested],   
         [publicdata:samples.github_nested])