kdb中的并行处理
当我们使用-s时,主线程将一些工作委托给从线程 我在使用3个从线程的会话上运行以下代码:q-S3kdb中的并行处理,kdb,Kdb,当我们使用-s时,主线程将一些工作委托给从线程 我在使用3个从线程的会话上运行以下代码:q-S3 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 fr
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 and reduce框架,每个线程在其中执行分配的任务 并返回其结果的副本,供主线程聚合 在您的特定情况下,如果查询的表是分区的,那么查询将有效地并行化。 因为它会拉入所有列,所以查询将是I/O绑定的,这意味着您不会看到太多/任何加速。试试这个 {从t中选择,其中日期=x}日期(其中日期在2019.01.18 2019.01.20内) 应该快一点