我正在尝试使用batch()方法插入100多条记录。
client.batch(batchQuery, { prepare: true }, function (err, result) {
if (err) {
res.status(404).json({ msg: err });
} else {
res.json([result.rows][0]);
}
});batchQuery有超过100个插入查询。如果记录数小于7,它就可以工作。如果记录数大于10,我就会得到“批量太大”的提示。
发布于 2019-03-02 00:12:30
您不应该使用批处理将数据批量插入到Cassandra中(与RDBMS相反)-您得到的这个错误意味着您正在将数据插入到不同的分区,并且它会在接收查询的节点上推送额外的负载。只有当您在同一分区中执行插入操作时,才需要使用批处理-在这种情况下,它们将作为单个变异应用。
否则,通过async execute发送单独的insert查询会快得多。您只需不同时发送太多请求(请参阅此answer)。
你可以在SO:1上阅读更多关于在documentation中使用批处理的好与坏的信息和下面的答案。
https://stackoverflow.com/questions/54941816
复制相似问题