如何在cassandra cql的一行插入中插入多行?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在cassandra cql的一行插入中插入多行?相关的知识,希望对你有一定的参考价值。

我有以下名为'devices'的表格:

userid | deviceid | devicedata |用户数据

所有列都是varchars,userid + deviceid是主键。

在表中插入一行似乎有效:

INSERT INTO devices (userid, deviceid, devicedata, userdata)
VALUES ('user7', 'deviceid1', 'devicedata7', 'userdata1');

但是以下不起作用:

INSERT INTO devices (userid, deviceid, devicedata, userdata) 
VALUES (('user8', 'deviceid1', 'devicedata8', 'userdata1'), 
        ('user9', 'deviceid1', 'devicedata9', 'userdata1'));

我得到以下错误:

InvalidRequest: Error from server: code=2200 [Invalid query]
  message="Unmatched column names/values"

如何使用一行INSERT插入多行?可能吗?我知道有批处理选项。

答案

如果你真的需要,只需提出两个请求或未记录的批处理,但我建议只做两个不同的异步请求,对批处理它们的负面影响很小。

以上是关于如何在cassandra cql的一行插入中插入多行?的主要内容,如果未能解决你的问题,请参考以下文章

CQL Cassandra - 如何在插入或更新中使用 SELECT 结果

CQL3 (Cassandra) upsert 增加一个计数器

Cassandra Cql 范围选择

cassandra在服务端像leveldb一样进行插入初试成功

使用python解析器将数据写入cassandra

如何在 2.2.0 中获取给定 Apache Spark Dataframe 的 Cassandra cql 字符串?