重新加载已导入文件时,DataStax DSBulk工具会重复还是更新插入数据?
DataStax DSBulk 重复加载文件的行为
- 默认行为:DSBulk采用Cassandra标准的CQL
INSERT逻辑,而Cassandra的INSERT本身就是Upsert语义——如果待导入记录的主键(分区键+聚类列)已存在,会更新对应行的字段;主键不存在则插入新行,不会产生重复数据。 - 强制仅插入新数据:若要避免更新现有记录,可在命令中添加参数
dsbulk load -schema.insertOnly true(或在配置文件中设置schema.insertOnly: true)。此时遇到主键重复的记录,DSBulk会根据错误处理配置,要么抛出异常,要么跳过重复行,不会执行更新也不会生成重复数据。 - 重复数据的产生场景:只有当导入的记录主键与现有数据完全不同时,才会新增记录;主键相同的情况下,默认是覆盖更新,不会产生重复。
内容的提问来源于stack exchange,提问作者Vijay Jadhav
相关产品推荐
相关产品推荐

