cassandra入门应用一
cassandra应用步骤:
1.在http://cassandra.apache.org/下载cassandra保存相应目录中
2.cassandra进行解压,
a.解压命令:gunzipapache-cassandra-0.6.8-bin.tar.gz。
b.对tar解压:tar-vxfapache-cassandra-0.6.8-bin.tar。
3.进入apache-cassandra-0.6.8目录bin下运行Cassandra
..............................
INFO10:49:48,282Startingupservergossip
INFO10:49:48,327Bindingthriftservicetolocalhost/127.0.0.1:9160
INFO10:49:48,331Cassandrastartingup...
出现这个表示cassandra启动成功。
对cassandra简单讨论
1.cassandra是什么?
是基于k-v的是一种高伸缩性,的第二代数据库,用来存储数据
参考blog:
cassandra简单示例
/** * */ [color=green]package org.wolf.cassandra; import org.apache.cassandra.thrift.Column; import org.apache.cassandra.thrift.ColumnPath; import org.apache.cassandra.thrift.ConsistencyLevel; import org.apache.cassandra.thrift.InvalidRequestException; import org.apache.cassandra.thrift.NotFoundException; import org.apache.cassandra.thrift.TimedOutException; import org.apache.cassandra.thrift.UnavailableException; import org.apache.cassandra.thrift.Cassandra.Client; import org.apache.thrift.TException; import org.apache.thrift.protocol.TBinaryProtocol; import org.apache.thrift.transport.TSocket; import org.apache.thrift.transport.TTransport; import org.apache.thrift.transport.TTransportException; import com.sun.org.apache.bcel.internal.generic.NEW; /** * cassandra 结构分为 server client * * @author wolf * */ public class CassandraDevelop { /** *cassandra 客户端 */ private Client cassClient; /** * 连接协议,I/O layer,对 Java input/output streams 一个包装,其实现方式有 Tsocket,http等, */ private TTransport transport; private void initCassandra() throws TTransportException { String host = "localhost"; int port = 9160; /* 指定服务器的地址和接口,以socket方式建立连接 */ this.transport = new TSocket(host, port); /* 指定socket通讯协议为二进制流协议 */ TBinaryProtocol binaryProtocol = new TBinaryProtocol(this.transport, false, false); this.cassClient = new Client(binaryProtocol); /* 建立通讯连接 */ this.transport.open(); } private void close(){ this.transport.close(); } /** * 插入數字 * * @param tSpace * @param tName * @param rPara * @param cName * @param cValue * @throws TException * @throws TimedOutException * @throws UnavailableException * @throws InvalidRequestException */ private void insertData(String tSpace, String tName, String rPara, String cName) throws InvalidRequestException, UnavailableException, TimedOutException, TException { ColumnPath col = new ColumnPath(tName); col.setColumn(cName.getBytes()); /** * 执行插入操作,指定keysapce, row, col, 和数据内容, 后面两个参数一个是timestamp, * 另外一个是consistency_level timestamp是用来做数据一致性保证的, * 而consistency_level是用来控制数据分布的策略,前者的理论依据是bigtable, 后者的理论依据是dynamo */ this.cassClient.insert(tSpace, rPara, col, "using cassandra".getBytes(), System.currentTimeMillis(), ConsistencyLevel.ONE); } /** * 获取列 * * @param tSpace * @param tName * @param rowParam * @param colName * @return * @throws TException * @throws TimedOutException * @throws UnavailableException * @throws NotFoundException * @throws InvalidRequestException */ public Column getColumn(String tSpace, String tName, String rowParam, String colName) throws InvalidRequestException, NotFoundException, UnavailableException, TimedOutException, TException { ColumnPath col = new ColumnPath(tName); col.setColumn(colName.getBytes()); /** * 执行查询操作,指定keysapce, row, col, timestamp timestamp是用来做数据一致性保证的, * 而consistency_level是用来控制数据分布的策略,前者的理论依据是bigtable, 后者的理论依据是dynamo */ return this.cassClient.get(tSpace, rowParam, col, ConsistencyLevel.ONE).column; } public static void main(String[] args) throws InvalidRequestException, UnavailableException, TimedOutException, TException, NotFoundException { CassandraDevelop cassandraDevelop = new CassandraDevelop(); cassandraDevelop.initCassandra(); String tSpace="Keyspace1"; String row="employee"; String tName="Standard2"; cassandraDevelop.insertData(tSpace, tName, row, tName); Column column = cassandraDevelop.getColumn(tSpace, tName, row, "Standard2"); System.out.println(new String(column.name)); } }[/color]
相关推荐
zhangxiaocc 2020-07-18
SUNDRAGON 2020-07-23
韩学敏 2020-01-07
累积技术沉淀经验 2020-01-07
CassandraTorres 2020-01-03
累积技术沉淀经验 2019-12-12
akcsdno 2019-12-06
那年夏天0 2019-12-06
数据库起来 2019-12-06
dqk 2019-11-12
zffj 2019-10-20
风一样的小宝 2019-11-01
sunfragrence 2017-08-11
wangtua 2018-02-01
gyunling 2019-09-08
newzhhsh 2019-03-27
dqk 2012-07-18
maggie 2016-06-06
李春春 2015-09-21