正在从多个数据集获取日期



我正在尝试使用bigquery获取表列表及其last_modified_date。使用下面的代码,我可以从一个数据集中获得最后一次修改的时间。但我想知道如何从多个数据集中获得最后修改的数据

query = """SELECT 
dataset_id,
table_id,
-- Convert UNIX EPOCH to a timestamp.
TIMESTAMP_MILLIS(creation_time) AS creation_time,
TIMESTAMP_MILLIS(last_modified_time) as last_modified_time
FROM
`project.dataset.__TABLES__`;"""

要查找数据集的元数据,需要调用INFORMATION_SCHEMA.SCHEMATA并查找表INFORMATION_SCHEMA.TABLES.的元数据

例如:

SELECT
t2.table_schema,
t2.table_name,
t2.creation_time,
t1.last_modified_time
FROM
region-us.INFORMATION_SCHEMA.SCHEMATA t1
INNER JOIN
region-us.INFORMATION_SCHEMA.TABLES t2
ON
t1.schema_name=t2.table_schema;

要扩展返回的表的范围,请使用以下内容来获取项目中所提供区域的所有表(例如我们区域(:

SELECT 
dataset_id,
table_id,
-- Convert UNIX EPOCH to a timestamp.
TIMESTAMP_MILLIS(creation_time) AS creation_time,
TIMESTAMP_MILLIS(last_modified_time) as last_modified_time
FROM
project.`region-us`.INFORMATION_SCHEMA.TABLES

有关更多文档,请参阅此处:https://cloud.google.com/bigquery/docs/information-schema-tables#scope_and_syntax

最新更新