在Big Query中获取表创建时间

时间:2013-10-16 20:05:16

标签: google-bigquery

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

bq show 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小时查询错误。

如果指定的窗口大于“now-table creation time”,那么如果装饰器用法将时间窗口默认为“now - table creation time”,那么理想情况下会很好。

2 个答案:

答案 0 :(得分:2)

FWIW这个信息在API中提供,bq工具在封面下调用:https://developers.google.com/bigquery/docs/reference/v2/tables#resource

答案 1 :(得分:1)

如果您使用bq --format = json,您可以轻松获取信息:

$ bq --format=prettyjson show publicdata:samples.wikipedia
{
  "creationTime": "1335916132870", ...
}

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

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

  1. Table@0表示创建时的表格
  2. Table@0表示快照可用的最早时间表。
  3. 我倾向于#2,因为快照只能在7天后返回。