google-bigquery - BigQuery 高效查询最新表

标签 google-bigquery

我正在尝试从数据集中的最新表进行高效查询,该数据集中由project_id:dataset:dataset_20160101project_id:dataset形式的表组成:dataset_20160102

此查询似乎是推荐的解决方案:

SELECT * 
FROM `project_id.dataset.*`
WHERE _TABLE_SUFFIX=(SELECT MAX(table_id) FROM `project_id.dataset.__TABLES_SUMMARY__`)

但是,此查询会向我收取访问数据集中的所有表的费用,而不仅仅是最新的表。这是为什么?

最佳答案

当 WHERE 子句在伪列上使用常量表达式(例如 _TABLE_SUFFIX = 'dataset_20160102')时,我们只能在查询运行之前修剪表。对于您的查询,由于 WHERE 子句包含一个不解析为常量的子查询,因此我们无法在查询运行之前修剪表。相反,从所有表中读取数据并执行子查询。然后将数据与子查询结果连接并过滤。

可以在查询执行期间修剪表。启动查询、执行子查询、修剪表并读取数据。但目前还没有预计到达时间。

关于google-bigquery - BigQuery 高效查询最新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44637448/

相关文章:

mongodb - 如何在没有类型的情况下将 mongo 导出为 json

apache-spark - Google Dataproc Pyspark - BigQuery 连接器 super 慢

google-bigquery - 如何限制从 bigquery 导出到 gcs 的文件的大小?

sql - BigQuery 重复的rank()数字

sql - 如何将 firebase 分析 sql 中的每个参数映射到单独的列?

mysql - 在不同的项目上创建谷歌云 SQL MySQL 只读副本

google-analytics - 使用谷歌分析数据将嵌套行转置为bigquery中的列

google-bigquery - 嗨,BigQuery是否支持实例化 View ?

json - 如何在Google Data Studio、Bigquery、Json中读取Json

google-bigquery - BigQuery 物化 View - 组中最后一个