如何在cassandra中多次插入行
发布时间:2020-05-24 17:21:23 所属栏目:MsSql 来源:互联网
导读:在cassandra列族中插入多行的最有效方法是什么.是否可以在一次通话中完成此操作. 现在我的方法是添加多列,然后执行.在一个电话中,我坚持一行.我正在寻找策略,以便我可以进行批量插入. CQL附带了一个BEGIN BATCH … APPLY BATCH语句,可以将多个插入组合在一起,
|
在cassandra列族中插入多行的最有效方法是什么.是否可以在一次通话中完成此操作. 现在我的方法是添加多列,然后执行.在一个电话中,我坚持一行.我正在寻找策略,以便我可以进行批量插入. 解决方法CQL附带了一个BEGIN BATCH … APPLY BATCH语句,可以将多个插入组合在一起,以便开发人员可以构建一个这样的批处理请求的字符串并执行它.[ http://www.datastax.com/dev/blog/client-side-improvements-in-cassandra-2-0] 以下对我有用: PreparedStatement ps = session.prepare( "BEGIN BATCH" + "INSERT INTO messages (user_id,msg_id,title,body) VALUES (?,?,?);" + "INSERT INTO messages (user_id,?);" + "APPLY BATCH" ); session.execute(ps.bind(uid,mid1,title1,body1,uid,mid2,title2,body2,mid3,title3,body3)); 如果您事先不知道要执行的语句,可以使用以下语法(Scala): var statement: PreparedStatement = session.prepare("INSERT INTO people (name,age) VALUES (?,?)")
var boundStatement = new BoundStatement(statement)
val batchStmt = new BatchStatement()
batchStmt.add(boundStatement.bind("User A","10"))
batchStmt.add(boundStatement.bind("User B","12"))
session.execute(batchStmt)
注意:BatchStatement最多可以保存65536语句.很难理解这一点. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
