【发布时间】:2014-07-25 22:00:35
【问题描述】:
我正在尝试将一批对象插入 Cassandra,如下所示:
public void insertIntoCassandra(ArrayList<FileLoaderVo> LoadVo)
throws NitroLoaderException {
int temp = LoadVo.size();
try {
Session session = cassandraDAO.getSession();
if (session == null) {
String msg = "CassandraDAO.getSession() returned null";
logger.error(msg);
throw new FileLoaderException(msg);
}
BoundStatement bStmtHistTable = null;
if (pStmtHistTable == null) {
pStmtHistTable = session.prepare(insertToCassandra);
pStmtHistTable.setConsistencyLevel(ConsistencyLevel.ONE);
}
for (FileLoaderVo fileLoaderVo : LoadVo) {
bStmtHistTable = pStmtHistTable.bind(fileLoaderVo.getSecurityCode(),
fileLoaderVo.getType(), fileLoaderVo.getAreaCode(),
fileLoaderVo.getEmpName(), fileLoaderVo.getCityType(),
fileLoaderVo.getHomeFIPS(), fileLoaderVo.getLastName(),
fileLoaderVo.getDst(), fileLoaderVo.getCssCode(),
fileLoaderVo.getAbbr(), fileLoaderVo.getOfficeFIPS(),
fileLoaderVo.getMiddleName(), fileLoaderVo.getZone(),
fileLoaderVo.getUtc());
session.execute(bStmtHistTable);
logger.info("LoadVo.size() is :"+temp);
temp--;
}
} catch (Exception e) {
System.out.println(e);
}
}
在这里,我向这个方法传递了一个要插入 Cassandra 的对象的 ArrayList。, 但是有什么方法可以像批量插入一样对这些对象运行单个查询?
我已经查看了 datastax,但找不到任何东西,我们将不胜感激。
提前致谢。
【问题讨论】:
标签: java cassandra batch-processing datastax