欢迎投稿

今日深度:

利用thrift API访问Cassandra 第一天,thriftcassandra

利用thrift API访问Cassandra 第一天,thriftcassandra


虽然注册了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();

}

www.htsjk.Com true http://www.htsjk.com/cassandra/34801.html NewsArticle 利用thrift API访问Cassandra 第一天,thriftcassandra 虽然注册了csdn很长时间,但从来还没有写过什么东西,最近研究cassandra,发现从百度上搜索相关的内容少得可怜,所以想把自己学习的心得...
相关文章
    暂无相关文章
评论暂时关闭