[从MAXBATCHSIZE复制]上的cassandra触发器

[从MAXBATCHSIZE复制]上的cassandra触发器,cassandra,triggers,Cassandra,Triggers,当我尝试运行下面的CQL时,我发现canssandra触发器不是由一条记录运行的,而是由一批运行的 COPY XXX_Table FROM 'xxxx.csv' WITH MAXBATCHSIZE=10 例如,我有一个20万记录的csv文件,在运行上述CQL后,cassandra中有200万条记录,但触发器只运行了20万次。 为什么?这是因为CSV文件中的数据具有相同的分区键 导入数据时,父进程从具有CHUNKSIZE行的输入文件块中读取数据,并将每个数据块发送给工作进程。然后,每个工作进程分

当我尝试运行下面的CQL时,我发现canssandra触发器不是由一条记录运行的,而是由一批运行的

COPY XXX_Table FROM 'xxxx.csv' WITH MAXBATCHSIZE=10
例如,我有一个20万记录的csv文件,在运行上述CQL后,cassandra中有200万条记录,但触发器只运行了20万次。
为什么?

这是因为CSV文件中的数据具有相同的分区键

导入数据时,父进程从具有CHUNKSIZE行的输入文件块中读取数据,并将每个数据块发送给工作进程。然后,每个工作进程分析具有公共分区键的行的块。如果发现至少有2行具有相同的分区密钥,则会对它们进行批处理并发送到拥有该分区的复制副本。您可以使用新选项MINBATCHSIZE控制最小行数,但建议将其设置为2。对于不共享任何公共分区键的行,它们将与分区键属于公共副本的其他行进行批处理。然后将这些行拆分为大小为MAXBATCHSIZE的批,当前为20行。这些批被发送到分区所在的副本。在这两种情况下,批处理的类型都是UNLOGGED

基于: