在 BigQuery 中动态查询多个表
Posted
技术标签:
【中文标题】在 BigQuery 中动态查询多个表【英文标题】:Dynamically Querying Multiple Tables In BigQuery 【发布时间】:2014-01-03 21:34:45 【问题描述】:我有一个 BigQuery 数据库,将每日数据上传到它自己的表中。所以我有名为“20131201”、“20131202”等的表。我可以编写一个固定查询来“合并”这些表:
SELECT * FROM db.20131201, db.20131202, ...
我想要一个不需要我在每次添加新表时都更新自定义 SQL 的查询。比如:
从数据库中选择 *。*
目前不起作用。我想避免制作一张大桌子。有没有我可以做的解决方法,或者这必须是一个功能请求?
最终目标是与所有表建立 Tableau 数据连接。
【问题讨论】:
这是一个有趣的功能请求! 同意,这将是一个有趣的功能! BigQuery 中的视图概念允许这样做并提供很大的灵活性。 根据我的经验,在大查询中选择 * 很糟糕,而且确实会减慢进程。 【参考方案1】:这不是您所要求的,但我已经设法特别使用了https://developers.google.com/bigquery/query-reference#tablewildcardfunctions
TABLE_DATE_RANGE(前缀、时间戳1、时间戳2)
为了在画面中使用类似的结果。您仍然需要提供 2 个日期参数,但它比动态生成 FROM 子句要好得多。
希望这会有所帮助。
【讨论】:
【参考方案2】:截至目前,在 google bigquery 中,此动态 Sql [如 mssqlserver 中的“EXECUTE SQL”] 不可用...我相信 sulry google 会查看这个 :)
【讨论】:
以上是关于在 BigQuery 中动态查询多个表的主要内容,如果未能解决你的问题,请参考以下文章
BigQuery 是不是支持“立即执行”命令来运行动态查询?