0

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

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 小时查询错误出去。

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

4

2 回答 2

2

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

于 2013-10-16T20:09:25.270 回答
0

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

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

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

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

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

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

于 2013-10-16T21:45:29.403 回答