您的位置:首页 > 其它

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();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cassandra batch logging