如何在 BigQuery 中使用 table 通配符进行拼合?
How to flatten with a table wildcard in BigQuery?
我们最近切换到标准设置,其中 table 按月标记 (foo_2015_05),采用包含重复字段的通用格式.最初,当我基于一个大 table 创建视图时,它迫使我在重复字段上展平 table。
在尝试更新我的视图以说明每月 table 时,我似乎无法同时拥有 table 通配符和展平。
SELECT blah
FROM FLATTEN(TABLE_QUERY(dataset, "tableid CONTAINS 'foo_'"), repeated_field)
给我以下错误:
Table 无法解析名称:缺少数据集名称
我错过了什么吗?或者有解决方法吗?
我认为问题是 FLATTEN
不能工作表的并集,如果 TABLE_QUERY
评估为多个表,TABLE_QUERY
最终会被重写。解决方法是将 TABLE_QUERY
包装在子选择中,使 FLATTEN
在单个源(子选择)上运行。
SELECT blah
FROM FLATTEN(
(SELECT * FROM TABLE_QUERY(dataset, "tableid CONTAINS 'foo_'")),
repeated_field)
我们最近切换到标准设置,其中 table 按月标记 (foo_2015_05),采用包含重复字段的通用格式.最初,当我基于一个大 table 创建视图时,它迫使我在重复字段上展平 table。
在尝试更新我的视图以说明每月 table 时,我似乎无法同时拥有 table 通配符和展平。
SELECT blah
FROM FLATTEN(TABLE_QUERY(dataset, "tableid CONTAINS 'foo_'"), repeated_field)
给我以下错误: Table 无法解析名称:缺少数据集名称
我错过了什么吗?或者有解决方法吗?
我认为问题是 FLATTEN
不能工作表的并集,如果 TABLE_QUERY
评估为多个表,TABLE_QUERY
最终会被重写。解决方法是将 TABLE_QUERY
包装在子选择中,使 FLATTEN
在单个源(子选择)上运行。
SELECT blah
FROM FLATTEN(
(SELECT * FROM TABLE_QUERY(dataset, "tableid CONTAINS 'foo_'")),
repeated_field)