这里只传一个分区字段就好,组合分区也是一样的。你这个例子,建议传"symbol" ,就能实现并发写入了。当然,传"datetime"也可以运行,但是会发现并不能并发,因为你只写入一天的数据,即datetime只有一个分区,是没法并发的。
下面是PartitionedTableAppender的基本原理:
首先,DolphinDB不允许多个writer同时将数据写入到同一个分区,因此在客户端多线程并行写入数据时,需要确保每个线程分别写入不同的分区。python API提供了自动按分区分流数据并行写入的简便方法:
使用最新的1.30版本及以上的server,可以使用Python API中的 PartitionedTableAppender对象来写入分布式表。其基本原理是设计一个连接池,然后获取分布式表的分区信息,将分区分配给连接池来并行写入,一个分区在同一时间只能由一个连接写入。
所以,即使是组合分区,你也只需要传入一个有区分度的分区字段,它能满足将数据分为多个分区,以达到分配给多个连接池写入就实现并发写了。