cassandra 批量插入
2014-07-25 10:53
1141 查看
废话不多说, maven依赖:
<dependency>
<groupId>com.datastax.cassandra</groupId>
<artifactId>cassandra-driver-core</artifactId>
<version>2.0.3</version>
</dependency>
java编程例子,例子是用cassandra存储log, log表建表语句为 create table log_original(partitionid bigint, uuid text, host text, apptype text, content text, primary key(partitionid, uuid, host, apptype)) :
import com.datastax.driver.core.BatchStatement;
import com.datastax.driver.core.BoundStatement;
import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.Host;
import com.datastax.driver.core.Metadata;
import com.datastax.driver.core.PreparedStatement;
import com.datastax.driver.core.Session;
String keyspace = "logging";
Cluster cluster = Cluster.builder().addContactPoint("10.0.250.100").build();
Session session=cluster.connect(keyspace);
BatchStatement batch = new BatchStatement();
PreparedStatement ps = session
.prepare("insert into log_original(partitionid, uuid, host,apptype, content) values(?,?,?,?,?)");
for (int i = 0; i < 10; i++) {
LogEntry log = new LogEntry();
log.setPartitionId(TimeSliceUtil.getCurrentSlice());
log.setAppType("test");
log.setContent(System.currentTimeMillis() +" ");
log.setHost("10.0.250.121");
log.setUuid(UUID.randomUUID().toString());
BoundStatement bs = ps.bind(log.getPartitionId(), log.getUuid(),
log.getHost(), log.getAppType(), log.getContent());
batch.add(bs);
}
session.execute(batch);
batch.clear();
<dependency>
<groupId>com.datastax.cassandra</groupId>
<artifactId>cassandra-driver-core</artifactId>
<version>2.0.3</version>
</dependency>
java编程例子,例子是用cassandra存储log, log表建表语句为 create table log_original(partitionid bigint, uuid text, host text, apptype text, content text, primary key(partitionid, uuid, host, apptype)) :
import com.datastax.driver.core.BatchStatement;
import com.datastax.driver.core.BoundStatement;
import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.Host;
import com.datastax.driver.core.Metadata;
import com.datastax.driver.core.PreparedStatement;
import com.datastax.driver.core.Session;
String keyspace = "logging";
Cluster cluster = Cluster.builder().addContactPoint("10.0.250.100").build();
Session session=cluster.connect(keyspace);
BatchStatement batch = new BatchStatement();
PreparedStatement ps = session
.prepare("insert into log_original(partitionid, uuid, host,apptype, content) values(?,?,?,?,?)");
for (int i = 0; i < 10; i++) {
LogEntry log = new LogEntry();
log.setPartitionId(TimeSliceUtil.getCurrentSlice());
log.setAppType("test");
log.setContent(System.currentTimeMillis() +" ");
log.setHost("10.0.250.121");
log.setUuid(UUID.randomUUID().toString());
BoundStatement bs = ps.bind(log.getPartitionId(), log.getUuid(),
log.getHost(), log.getAppType(), log.getContent());
batch.add(bs);
}
session.execute(batch);
batch.clear();
相关文章推荐
- apache-cassandra-1.2.0 批量插入样例
- Mybatis:List批量插入数据
- mysql妙用:批量插入记录,遇到重复记录则为自动更新
- PHP如何将多维数组中的数据批量插入数据库?
- MyBatis直接执行SQL查询及批量插入数据
- Spring JdbcTemplate 批量插入或更新操作
- SQL 批量插入
- DataTable 批量插入SqlServer数据库 使用:SqlBulkCopy
- 1.SQL server 将小时数据转化为日(月、年)数据 2.将数据批量插入到表中
- 如何写高效的批量插入和删除sql语句
- 一条insert语句批量插入多条记录
- Oracle+Mybatis的foreach insert批量插入报错的快速解决办法
- Java JDBC 批量插入执行时问题
- mybatis注解方式批量插入数据
- mysql流式读取大数据量与批量插入数据分析
- mysql 解决批量插入吞吐量
- mybatis 批量插入oracle与mysql
- MYSQL开发性能研究——批量插入的优化措施
- 一次性批量插入数据库时,导致CPU使用率突然很高,无法成功执行插入