在 Big Query 中获取表创建时间

Posted

技术标签:

【中文标题】在 Big Query 中获取表创建时间【英文标题】:Getting table creation time in Big Query 【发布时间】:2013-10-16 20:05:15 【问题描述】:

如何获取数据集中表的创建时间?

bq 显示 my_project:my_dataset.my_table

给你

Table my_project:my_dataset.my_table

   Last modified         Schema        Total Rows   Total Bytes   Expiration  
 ----------------- ------------------ ------------ ------------- ------------ 
  **16 Oct 14:47:41**   |- field1: string   3            69                        
                    |- field2: string                                          
                    |- field3: string    

我们可以使用“上次修改”日期,但它缺少年份!。还需要应用一个神秘的日志来解析日期。

此元信息是否可通过任何其他基于“bq”的特定命令获得?

我希望使用这些信息来确定可以在桌子上使用的合适的桌子装饰器,因为装饰器似乎要返回 4 小时(在重复的基础上)并且表格/分区只存在 3 小时查询出错了。

如果指定的窗口大于“现在表创建时间”,装饰器使用默认时间窗口为“现在 - 表创建时间”会很好。

【问题讨论】:

【参考方案1】:

FWIW 此信息可在 API 中获得,bq 工具在后台调用:https://developers.google.com/bigquery/docs/reference/v2/tables#resource

【讨论】:

【参考方案2】:

如果你使用 bq --format=json 你可以很容易地得到信息:

$ bq --format=prettyjson show publicdata:samples.wikipedia

  "creationTime": "1335916132870", ...

这是在表装饰器中使用的确切值。

虽然我不确定我是否喜欢将“非常低的起始值”解释为表创建时间,但我还有其他选择:

    Table@0 表示创建时的表 Table@0 表示快照可用的最早时间的表。

我倾向于 #2,因为快照只能返回 7 天。

【讨论】:

不错。格式选项可能会起作用。您能否详细说明“我倾向于 #2,因为快照只能返回 7 天”。选项 #1 和 #2 似乎相同 (Table@0) ? (我错过了什么) 关于您的问题,因为快照历史记录仅可用 7 天,如果表超过 7 天,可用的最早快照可能晚于表创建时间。 仅供参考,第 2 项的更改已签入,有望在下周上线。 这并不令人满意,因为 CLI 命令不只返回此信息。

以上是关于在 Big Query 中获取表创建时间的主要内容,如果未能解决你的问题,请参考以下文章

当Big Query加载失败并且CSV表遇到太多错误时,获取更多信息,放弃[重复]

如何使用 Google Big Query 在 GROUP_CONCAT 上获取不同的值

如何在 Big Query 中获取测量协议命中数据?

Big Query:如何提取数据集的每个表创建时间?

将Big Query中的数据自动导入Google表格?

Big Query 不允许创建表