如何从手动分区的 BigQuery 表中引用最新表
Posted
技术标签:
【中文标题】如何从手动分区的 BigQuery 表中引用最新表【英文标题】:How to reference the latest table from a manually partitioned BigQuery table 【发布时间】:2019-02-04 16:19:15 【问题描述】:我们有一个手动分区的“视频元数据”表,每天都会提供新数据。在我们的系统中,仅出于历史原因保留旧数据,因为最新数据是最新的。
我们想不通的是如何使用 LookML 仅引用此表中的最新分区。
到目前为止,我们已经尝试在 BigQuery 中存储视图。我们已经尝试在标准和旧版 SQL 中将简单的“获取最新分区”查询存储为视图,但在一些搜索中,这似乎是设计使然,即使错误消息指出“未找到数据集”而不是更相关的东西。
我们也尝试在 Looker 中构建过滤功能,但我们无法让事情真正发挥作用,并且只能通过它返回最新数据。
任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:我们已经设法找到解决方案,派生表
我们认为,由于我们无法在 BigQuery 端定义视图,因此可以在 Looker 端进行,因此我们在视图内的 derived table 块中定义了表。
derived_table:
sql: SELECT * FROM dataset.table_*
WHERE _TABLE_SUFFIX = (
SELECT max(_TABLE_SUFFIX) FROM dataset.table_*
);;
sql_trigger_value: SELECT max(_TABLE_SUFFIX) FROM dataset.table_*;;
这为我们提供了一个仅包含最新数据的视图。
【讨论】:
以上是关于如何从手动分区的 BigQuery 表中引用最新表的主要内容,如果未能解决你的问题,请参考以下文章