cassandra应用步骤:
1.在http://cassandra.apache.org/下载cassandra保存相应目录中
2.cassandra进行解压,
a.解压命令:gunzip apache-cassandra-0.6.8-bin.tar.gz。
b.对tar解压:tar -vxf apache-cassandra-0.6.8-bin.tar。
3.进入apache-cassandra-0.6.8目录bin下 运行 Cassandra
..............................
INFO 10:49:48,282 Starting up server gossip
INFO 10:49:48,327 Binding thrift service to localhost/127.0.0.1:9160
INFO 10:49:48,331 Cassandra starting up...
出现这个表示cassandra启动成功。
对cassandra简单讨论
1.cassandra是什么?
是基于k-v的是一种高伸缩性,的第二代数据库,用来存储数据
参考blog:
http://www.iteye.com/topic/784054
http://www.iteye.com/topic/722859
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]
分享到:
相关推荐
【标题】:“Cassandra入门项目源代码”是一个针对初学者的教程项目,旨在帮助开发者了解如何在Eclipse环境中使用Spring Data框架与EasyRest风格来操作Cassandra数据库和Lucene搜索引擎。这个项目提供了一整套实践性...
【Cassandra 入门学习】 Cassandra是一款分布式NoSQL数据库系统,特别适合处理大量结构化和半结构化数据。它的设计灵感来源于Google的Bigtable,旨在提供高可用性、线性可扩展性和强一致性的数据存储解决方案。在...
本篇文章将通过一个基础的"Cassandra入门demo",帮助你了解如何开始使用Cassandra。 **1. 安装与配置** 首先,你需要在本地或服务器上安装Cassandra。这通常涉及下载最新版本的Cassandra,解压并配置环境变量。...
Apache Cassandra是一个开源的分布式NoSQL数据库管理系统,它最初由Facebook开发,并在...对于IT行业的专业人士来说,了解和掌握Cassandra是十分必要的,它已成为处理大数据和构建大规模互联网应用不可或缺的一部分。
Cassandra 数据库入门教程文档 Cassandra 是一种开源分布式 NoSQL 数据库系统,由 Facebook 开发,最初用于储存收件箱等简单格式数据。它集 Google BigTable 的数据模型与 Amazon Dynamo 的完全分布式架构于一身。...
1. **分布式架构**:Cassandra采用了无中心节点的分布式架构,每个节点都与其他节点对等通信,允许数据复制和负载均衡。这种设计使得系统能够容忍节点故障,保证服务的高可用性。 2. **一致性与可用性**:Cassandra...
《Cassandra: The Definitive Guide》这本书详细介绍了这些概念,不仅适合初学者入门,也为经验丰富的开发者提供了深入理解和实践Cassandra的宝贵资源。通过阅读这本书,读者可以掌握如何构建、优化和管理大规模的...
烧瓶卡桑德拉Python Flask Cassandra Simple Shop CRUD 这是一个简单而说明性的 Cassandra Shop 应用程序的集合。 该集合的目的是帮助新的Cassandra用户更好地理解Cassandra并提出说明性的用例。入门如果您无权访问 ...
Java 和 Cassandra 快速入门是针对开发者的一个指南,旨在帮助他们快速掌握如何使用 Java 集成 Cassandra 数据库,特别是通过 Astyanax 客户端和 CQL(Cassandra 查询语言)进行操作。Cassandra 是一种分布式 NoSQL ...
它会生成一个Excel电子表格,其中包含Cassandra集群中应用程序表的读写流量总计。 它还包括每个表的tps数据。 该脚本提供了群集事务总计,包括每月TPS,TPD和TPMO事务(356/12)。 它还包括总日志时间(包括所有...
这个压缩包文件包含了使用IDEA开发的Java和Scala语言的Spark入门级应用代码,非常适合初学者了解和学习Spark的基础操作。 首先,让我们从Java和Scala两个角度来理解Spark的基本概念和编程模型: 1. **Spark编程...
cassandra_tornado_todo 在 2015 年 DePy 会议上给出的“Cassandra 和 Python 入门”演讲的示例代码。 该代码用于使用 Tornado 的简单“待办事项”列表,以演示在 Python Web 应用程序中使用 Cassandra。
根据提供的信息,我们可以推断出该文档主要围绕“NoSQL数据库入门”这一主题展开,并且它是一本高清PDF格式的学习指导书籍。尽管文档的部分内容似乎与Linux公社网站介绍有关,但我们的重点将放在提取与NoSQL数据库...
这一章深入探讨了云环境中的存储解决方案,如对象存储、块存储和文件存储,以及它们在不同场景下的应用。此外,还将介绍云网络的基本概念,如VPC(Virtual Private Cloud)、子网、路由表和安全组,以及如何实现跨...
【标题】"Storm入门"指的是对Apache Storm这一分布式实时计算系统的初步学习和理解。Apache Storm是一个开源的流处理系统,它被设计用来处理和计算无界数据流,以实现连续的、实时的数据处理。在Java编程语言的支持...
《Spring从入门到精通》是一本深度探讨Spring框架的书籍,由郭锋编著,并由清华大学出版社出版。这本书旨在帮助读者全面理解并掌握Spring的核心概念和技术,从基础的环境搭建到高级的应用场景,覆盖了Spring的...
总的来说,MongoDB入门篇1涵盖了数据库和数据库管理系统的基础知识,特别是对于NoSQL数据库的介绍,有助于理解不同类型的数据库系统如何适应不同的应用场景。MongoDB作为一个流行的NoSQL数据库,特别适合于需要处理...
大数据开发入门指南是一份全面介绍大数据领域的文档,涵盖了从基础概念到实际应用的各个环节,旨在帮助初学者系统地理解和掌握大数据技术。以下是这份指南中可能包含的重要知识点: 1. **大数据概念**:大数据指的...