a)什么是确定性

引用 SQL 标准中对确定性的描述:如果一个操作在重复相同的输入值时能保证计算出相同的结果,那么该操作就是确定性的。

b)批处理都是确定性的吗?

在经典的批处理场景,对于给定的有界数据集,重复执行同一查询会得到一致的结果,这是对确定性最直观的理解;但实际上,同一个查询在批处理上也并不总是能得到一致的结果,来看两个查询示例:

两个非确定性结果的批查询示例

比如有一张新建的网站点击日志表:

CREATE TABLE clicks (
    uid VARCHAR(128),
    cTime TIMESTAMP(3),
    url VARCHAR(256)
)

新写入了一些数据:

+------+---------------------+------------+
|  uid |               cTime |        url |
+------+---------------------+------------+
| Mary | 2022-08-22 12:00:01 |      /home |
|  Bob | 2022-08-22 12:00:01 |      /home |

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部