我试图使用批处理语句将一些行插入cassandra。我无法找到有关如何使用datastax spark连接器的任何文档。我试过以下
CassandraConnector(conf).withSessionDo({ session =>
val ps = session.prepare(s"BEGIN BATCH" +
"INSERT INTO test.user_trans (user_id, amount) VALUES(?, ?);" +
"INSERT INTO standing (user_id, position) VALUES (?, ?);" +
"APPLY BATCH" );
val bound = ps.bind(user_id, amount, user_id, position)
session.execute(bound)
});
但是datastax驱动程序会出现以下错误
com.datastax.driver.core.exceptions.SyntaxError: line 1:6 mismatched input 'BATCHINSERT' expecting K_BATCH (BEGIN [BATCHINSERT] INTO...)
是否可以使用datastax soark连接器驱动程序进行原子批量更新?
我正在使用spark-cassandra-connector版本1.6.0-s_2.10 和火花1.6.1
关于RDD的所有其他操作以及将单行保存到Cassandra的工作
答案 0 :(得分:0)
因为您忘记在BEGIN BATCH
val ps = session.prepare(s"BEGIN BATCH " + // Put a space after BEGIN BATCH
"INSERT INTO test.user_trans (user_id, amount) VALUES(?, ?);" +
"INSERT INTO standing (user_id, position) VALUES (?, ?);" +
"APPLY BATCH" );