【问题标题】:Getting table creation time in Big Query在 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 小时查询出错了。

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

【问题讨论】:

    标签: google-bigquery


    【解决方案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", ...
      }
      

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

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

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

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

      【讨论】:

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