在 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表遇到太多错误时,获取更多信息,放弃[重复]