gpt4 book ai didi

google-bigquery - Big Query Table Last Modified Timestamp 与上次插入表的时间不对应

转载 作者:行者123 更新时间:2023-12-01 16:35:47 25 4
gpt4 key购买 nike

我有一张表,rising-ocean-426:metrics_bucket.metrics_2015_05_09

根据node js API,检索该表的元数据,

Table was created       Sat, 09 May 2015 00:12:36 GMT-Epoch 1431130356251
Table was last modified Sun, 10 May 2015 02:09:43 GMT-Epoch 1431223783125

根据我的记录,对该表的最后一批插入实际上是在:

Sun, 10 May 2015 00:09:36 GMT - Epoch 1431216576000.

这比报告的最后修改时间早两个小时。使用表格装饰器,我可以显示在 Epoch 1431216576000 之后没有记录插入到表格中,证明在我最后一次批量插入和元数据中报告的最后修改时间之间的最后两个小时内没有插入任何记录:

The query: SELECT
count(1) as count
FROM [metrics_bucket.metrics_2015_05_09@1431216577000-1431223783125];

返回零计数。而查询:

SELECT
count(1) as count
FROM [metrics_bucket.metrics_2015_05_09@1431216576000-1431216577000];

returns count: 222,891

这表明正确的最后修改时间是 Sun,2015 年 5 月 10 日 00:09:36 GMT,而不是元数据断言的 02:09:43 GMT。

我正在尝试以编程方式生成一个 FROM 子句,该子句跨越带有装饰器的多个表,因此我需要表的准确创建时间和上次修改时间,以便确定何时可以省略装饰器,因为时间范围跨越整个表。但是,由于这个时间差异,我无法消除表格装饰器。

问题是,我是否在查看正确的元数据以获得正确的创建和最后修改信息?

最佳答案

简短回答:您确实在查看正确的元数据。

长答案:最后修改时间包括一些数据内部压缩的时间,与数据更改无关。使用以 1431223783125 或 1431216576000 结尾的装饰器对您的表执行查询会产生相同的结果,就像您的实验显示的那样,但稍后执行包括我们的存储效率改进,可能会稍微缩短执行时间和效率。我们认为这是一个错误,并将很快更新 API 以返回上次用户修改时间。

与此同时,除了添加的查询文本之外,包含并非真正需要的表装饰器并没有什么坏处。查询成本或性能都不会改变。

关于google-bigquery - Big Query Table Last Modified Timestamp 与上次插入表的时间不对应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30155194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com