gpt4 book ai didi

kdb - kdb 中的并行处理

转载 作者:行者123 更新时间:2023-12-05 00:45:34 31 4
gpt4 key购买 nike

当我们使用 -s 时,主线程将一些工作委托(delegate)给从线程。

我在带有 3 个从属线程的 session 上运行以下代码:q -s 3

select from t where date within 2019.01.18 2019.01.20

试图了解 q 如何在内部使用线程进行上述查询。
kdb 是否在内部使用每个子线程来获取某个日期的数据,然后主线程最后合并数据?
就像是:
main thread looking for slave threads and assigning work
slave 1: t1: select from t where date within 2019.01.18
slave 2: t2: select from t where date within 2019.01.19
slave 3: t3: select from t where date within 2019.01.20
main thread: t1,t2,t3

每个从线程做了什么工作,主线程做了什么工作?

最佳答案

使用从线程调用 map 和 reduce 框架,其中每个线程执行分配的任务
并将其结果的副本返回给主线程,然后进行聚合。

在您的特定情况下,如果您查询的表是分区的,那么查询将有效地并行化。
由于它将拉入所有列,因此查询将受 I/O 限制,这意味着您不会看到太多/任何加速。

关于kdb - kdb 中的并行处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56732019/

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