修复表格装饰器错误后我们应该做些啥不同的事情?

Posted

技术标签:

【中文标题】修复表格装饰器错误后我们应该做些啥不同的事情?【英文标题】:What should we do differently after the table decorators bug fix?修复表格装饰器错误后我们应该做些什么不同的事情? 【发布时间】:2014-11-02 08:04:40 【问题描述】:

据此处报道:BigQuery:BigQuery: Why does Table Range Decorators return wrong result sometimes?

这里是https://code.google.com/p/google-bigquery/issues/detail?id=160

据称修复了餐桌装饰器错误。 但是,我每小时运行的常规进程以及最近添加的查询记录仍会​​返回部分结果。

哪些步骤会重现问题? 1. 选择一张在过去 24 小时内开始进行批量上传的表格。确保数据仍在写入表 2。运行以下查询:Select * from (Select count() from [MYDATASET.MYTABLE@-]), (Select count() FROM [MYDATASET .MYTABLE])

3.注意不同的结果。

我的问题:我们应该以不同的方式做事吗?是否存在表格装饰器保持不正确的时间窗口?

对于 BQ 人:此查询显示了问题:job_kqJ_yZh674kTag4I-ibCPnAMXOw

非常感谢您的帮助...

【问题讨论】:

【参考方案1】:

从https://code.google.com/p/google-bigquery/issues/detail?id=160#c12这里复制答案,以免丢失:

该作业似乎运行正常。它只有一个时间戳 消除表中某些数据的范围。

当使用时间戳范围装饰器时,时间戳与 提交时间,当您加载的数据作为 桌子。为了确保包含提交时间,请使用 范围装饰器,其下限肯定在提交之前 时间,例如您开始加载作业的时间,以及一个上限 那肯定是在提交时间之后,例如当你 观察表中加载的数据或>=的last_modified_time 桌子。

【讨论】:

这种行为与我们在 10 月 4 日之前的行为不同。我不尝试使用装饰器查询整个表。这只是我证明问题存在的方式。一整天,我从只包含 1 天数据的表中查询 1 小时大小的块。归根结底,我只有一半的数据

以上是关于修复表格装饰器错误后我们应该做些啥不同的事情?的主要内容,如果未能解决你的问题,请参考以下文章

python装饰器中@wraps作用--修复被装饰后的函数名等属性的改变

返回响应后做些啥?

python装饰器

python中装饰器修复技术

装饰器模式

python入门之装饰器