利用thrift API访问Cassandra 第一天

虽然注册了csdn很长时间,但从来还没有写过什么东西,最近研究cassandra,发现从百度上搜索相关的内容少得可怜,所以想把自己学习的心得记下来,也方便国内的同行们使用。这里记下的例子都是本人亲自在机器上调试通过的。

今天先把利用thrift_api创建keyspace和column family得例子写下来。

 

 

import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import org.apache.cassandra.thrift.Cassandra;
import org.apache.cassandra.thrift.CfDef;
import org.apache.cassandra.thrift.InvalidRequestException;
import org.apache.cassandra.thrift.KsDef;
import org.apache.cassandra.thrift.NotFoundException;
import org.apache.cassandra.thrift.TimedOutException;
import org.apache.cassandra.thrift.UnavailableException;
import org.apache.thrift.TException;
import org.apache.thrift.protocol.TBinaryProtocol;
import org.apache.thrift.transport.TFramedTransport;
import org.apache.thrift.transport.TSocket;
/**
 * Cassandraへの接続、Keyspace、Column Family作成
 * 
 * @author 劉振濤
 * @version 1.0
 */
public class CreatCassandraClient {

/**
* @param args
*/
public static void main(String[] args) throws InvalidRequestException,
NotFoundException, UnavailableException, TimedOutException,
TException, UnsupportedEncodingException {
TSocket socket = new TSocket("192.168.1.113", 9160);
//TSocket socket = new TSocket("localhost", 9160);
TBinaryProtocol binaryProtocol = new TBinaryProtocol(new TFramedTransport(socket));
Cassandra.Client client = new Cassandra.Client(binaryProtocol);
socket.open();
KsDef  newSpace = new KsDef();
newSpace.setName("Ryu");
newSpace.setStrategy_class("org.apache.cassandra.locator.SimpleStrategy");
// 1:書込め;0:読込めのみ(思う)
newSpace.setReplication_factor(1);
List<CfDef> cf_defs = new ArrayList<CfDef>();
CfDef cfDef = new CfDef("Ryu","t_erpbase_user");
cfDef.setColumn_type("Standard");
cfDef.setComparator_type("org.apache.cassandra.db.marshal.UTF8Type");
cf_defs.add(cfDef); newSpace.setCf_defs(cf_defs); client.system_add_keyspace(newSpace);
/*

  // Column Family(テーブル)を追加
CfDef cfDef1 = new CfDef("Ryu","t_erpbase_user_group");
cfDef1.setColumn_type("Standard");
cfDef1.setComparator_type("org.apache.cassandra.db.marshal.UTF8Type");
client.system_add_column_family(cfDef1);
*/

  // 削除テーブル
//client.system_drop_keyspace("Ryu");
// データベース切断
socket.close();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值