Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中,如何在单个批处理中为cassandra数据库执行类似的insert查询?_Java_Cassandra_Batch Processing_Datastax - Fatal编程技术网

在java中,如何在单个批处理中为cassandra数据库执行类似的insert查询?

在java中,如何在单个批处理中为cassandra数据库执行类似的insert查询?,java,cassandra,batch-processing,datastax,Java,Cassandra,Batch Processing,Datastax,我的java代码如下所示: public void execute() { Batch batch = QueryBuilder.unloggedBatch(); SimpleStatement simpleStatement; simpleStatement.setConsistencyLevel(ConsistencyLevel.QUORUM); simpleStatement = new SimpleStatement("INSERT INTO myTable (id, name,

我的java代码如下所示:

public void execute() {

Batch batch = QueryBuilder.unloggedBatch();

SimpleStatement simpleStatement;
simpleStatement.setConsistencyLevel(ConsistencyLevel.QUORUM);

simpleStatement = new SimpleStatement("INSERT INTO myTable (id, name, phone) VALUES (1, 'Abc', 9876543210)");
batch.add(simpleStatement);

simpleStatement = new SimpleStatement("INSERT INTO myTable (id, name, phone) VALUES (2, 'Mno', 0123456789)");
batch.add(simpleStatement);

simpleStatement = new SimpleStatement("INSERT INTO myTable (id, name, phone) VALUES (3, 'Xyz', 9876501234)");
batch.add(simpleStatement);

try{

    //Creating Cluster object
    Cluster cluster = Cluster.builder().addContactPoint("127.0.0.1").build();

    //Creating Session object
    Session session = cluster.connect("testkeyspace");

    //Executing the query
    session.execute(batch);

} catch (Exception e) {
    e.printStackTrace();
} 
finally {
    //Closing Cluster object
    cluster.close();
}
}

我正在研究Java8和Cassandra3.5

我需要使用Datastax Java驱动程序对Cassandra DB批量执行类似的insert查询语句。我正在尝试使用datastax java驱动程序中的批处理。另外,我正在尝试创建一个Statement对象,并将其添加到批处理中,并将consistentylevel设置为QUORUM

当我执行这个方法时,只有一条记录被插入到表中。我读过一篇文章“”,其中指出从未尝试在Cassandra DB中为批处理执行执行类似的语句。但是,需要知道是否存在通过批处理执行更多查询的替代解决方案

我还尝试从com.datastax.driver.core.BatchStatement执行代码示例。请告诉我如何使用Cassandra DB的批处理执行优化插入查询语句


提前感谢。

请小心批处理语句。这并不总是一种优化,实际上恰恰相反。