使用数据传输将地图记录插入Cassandra

时间:2017-06-18 08:14:40

标签: java cassandra batch-processing datastax-java-driver

我使用datastax java驱动程序与cassandra进行通信,我要求将地图插入cassandra,但是以每个键的形式,map 的值作为单独记录。下面是我的示例表模式

CREATE TABLE emp (
    key int PRIMARY KEY,
    value text
)

以下是我正在使用的示例代码

      String insertStatement = "INSERT INTO test.emp(key,value) values (?,?)";
      PreparedStatement preStmt = session.prepare(insertStatement);      
      BatchStatement batchStmt = new BatchStatement();
          for (Map.Entry<Integer, String> entry : dataMap.entrySet()) {
              Integer key = entry.getKey();
              String value = entry.getValue();
              BoundStatement boundStmt = preStmt.bind(key, value);
              batchStmt.add(boundStmt);
            }
          session.executeAsync(batchStmt);

上面的代码正在运行,但现在我再次遍历地图(因为其他应用程序将发送数据地图,我无法在将数据推送到地图时绑定参数)并将值绑定到preparedStatement。

这里我的要求不是再次遍历map而是绑定params还有其他任何简单方法,比如我们发送map和准备语句它会将数据作为单独的记录插入到cassandra中

0 个答案:

没有答案