cassandra触发[从MAXBATCHSIZE复制]

问题描述 投票:0回答:1

当我尝试运行以下CQL时,我发现canssandra触发器不是由一个记录运行,而是由一个批处理运行。

COPY XXX_Table FROM 'xxxx.csv' WITH MAXBATCHSIZE=10

例如,我有2000万个recoreds csv文件,在上面的CQL运行之后,cassandra中有2000,000条记录,但触发器只运行了20万次。为什么?

cassandra triggers
1个回答
0
投票

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

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

基于:link

© www.soinside.com 2019 - 2024. All rights reserved.