所用版本 Cassandra 1.0
简单的增删改java测试代码:
import java.nio.ByteBuffer;
import org.apache.cassandra.thrift.*;
import org.apache.cassandra.thrift.TBinaryProtocol;
import org.apache.thrift.protocol.*;
import org.apache.thrift.transport.*;
public class Test {
public static void main(String[] args) throws Exception {
// insertOrUpdateData(); //增加或者修改
getData(); //查询
// delete(); //删除
}
public static void insertOrUpdateData() throws Exception{
TTransport transport = new TFramedTransport(new TSocket("127.0.0.1",9160));
TProtocol protocol = new TBinaryProtocol(transport);
Cassandra.Client client = new Cassandra.Client(protocol);
transport.open();
client.set_keyspace("ksTest1");
ColumnParent parent = new ColumnParent("User1");
ByteBuffer rowid = ByteBuffer.wrap("100".getBytes());
Column column = new Column();
column.setName("description2".getBytes());
column.setValue("some value here222...".getBytes());
column.setTimestamp(System.currentTimeMillis());
client.insert(rowid, parent, column, ConsistencyLevel.ONE);
transport.flush();
transport.close();
}
public static void getData() throws Exception{
TTransport transport = new TFramedTransport(new TSocket("127.0.0.1",9160));
TProtocol protocol = new TBinaryProtocol(transport);
Cassandra.Client client = new Cassandra.Client(protocol);
transport.open();
client.set_keyspace("ksTest1");
ColumnParent parent = new ColumnParent("User1");
ByteBuffer rowid = ByteBuffer.wrap("100".getBytes());
Column column = new Column();
column.setName("description".getBytes());
ColumnPath path = new ColumnPath();
path.column_family = "User1";
path.column = ByteBuffer.wrap("description".getBytes());
ColumnOrSuperColumn c1 = client.get(rowid, path, ConsistencyLevel.ONE) ;
String res = new String(c1.getColumn().getValue(),"UTF-8");
System.out.println(res);
transport.flush();
transport.close();
}
public static void delete() throws Exception{
// open connection to Cassandra server
TTransport transport = new TFramedTransport(new TSocket("127.0.0.1",9160));
TProtocol protocol = new TBinaryProtocol(transport);
Cassandra.Client client = new Cassandra.Client(protocol);
transport.open();
// specify keyspace
client.set_keyspace("ksTest1");
// specify row id
ByteBuffer rowid = ByteBuffer.wrap("100".getBytes());
// specify column path
ColumnPath path = new ColumnPath();
path.column_family = "User1";
path.column = ByteBuffer.wrap("description2".getBytes());
// specify timestamp value of data to be removed
long timestamp = 1301874610643000L;
// set consistency level to one
ConsistencyLevel consistency = ConsistencyLevel.ONE;
// remove the description column from the specified row
// in the User column family
client.remove(rowid, path, timestamp, consistency);
// release resources
transport.flush();
transport.close();
}
}
分享到:
相关推荐
1. **列簇压缩**:这一功能是Cassandra社区最期待的改进之一。列簇压缩不仅显著提升了存储效率,还提高了读取速度。通过在列级实施压缩,Cassandra能够更有效地管理存储空间,尤其是在处理大量稀疏数据集时。 2. **...
一、了解token token是cassandra里相当重要的一个概念,它是cassandra用来平衡...1.数据将存储到拥有最近的比key的hash值大的token的节点上; 2.若key的hash值比最大的token大,那将被存储到具有最小token的节点上。
代表产品有Cassandra、HBase、Riak等。 文档型数据库以文档形式存储数据,通常存储为JSON、XML等格式,适合于存储半结构化数据,查询效率较键值存储更高。代表产品有MongoDB、CouchDB、MongoDb(4.x)、国内开源的...
大数据技术学习笔记1 大数据技术学习笔记1 是一份关于大数据技术的学习笔记,涵盖了大数据技术的基本概念、Hadoop 生态系统、MapReduce 算法、Spark 框架、分布式计算平台等多个方面。 Hadoop 生态系统 Hadoop 是...
"HugeGraph学习笔记二1" HugeGraph是一个基于图数据库的存储引擎,它支持多种存储backend,包括Cassandra和HBase。在这个笔记中,我们将探索HugeGraph的存储机制,特别是它如何与HBase集成。 HBase是一个分布式的...
本学习笔记涵盖了JavaEE的核心技术,帮助学习者深入理解和掌握javaweb的各项技能。 1. **Servlet与JSP** - **Servlet**:Servlet是Java编写的服务器端程序,主要用于扩展服务器的功能。在JavaEE中,Servlet处理...
2009年的数据库系统工程师学习笔记可能涵盖了当时该领域的核心概念和技术。以下是对这些笔记可能包含的一些关键知识点的详细说明: 1. **数据库基础理论**: - 数据模型:包括关系模型(如SQL)、网络模型、层次...
根据给定的文件信息“免费的数据库学习笔记”、“数据库学习笔记”以及标签“select面试题”,本篇文章将深入探讨与数据库学习相关的知识点,并重点围绕SQL中的SELECT语句进行讲解,包括其基本用法、进阶技巧以及在...
通过阅读《spring6.0学习笔记.md》这份文档,开发者可以系统地了解这些新特性和变化,逐步掌握Spring 6.0的核心技术,提升自己的开发技能。文档中应该会详细解析每个知识点的应用场景、使用方法以及最佳实践,帮助...
这份“大数据学习笔记汇总指南”涵盖了大数据技术栈中的关键组件,包括Hadoop、Hive、Spark、Storm、Flink以及HBase。让我们逐一深入探讨这些技术及其在大数据生态系统中的作用。 一、Hadoop Hadoop是Apache基金会...
Java分布式应用学习笔记 在Java世界中,分布式应用是指由多个独立组件通过网络通信协同工作的系统。这种架构模式常用于构建大规模、高可用性、可扩展的系统。本笔记将深入探讨Java分布式应用的核心概念、技术和实践...
本资料包“大数据学习笔记,学习路线,技术案例整理”是一个全面的大数据学习资源,旨在帮助初学者和进阶者系统地掌握大数据的核心技术和应用实践。 首先,我们来了解一下大数据的关键概念和技术栈。大数据通常有四...
Redis 学习笔记 本资源摘要信息主要讲解了 Redis 的基本概念、特点、优点和应用场景。Redis 是一个开源的高性能键值对数据库,支持多种键值数据类型,适合处理海量数据,效率高,但不一定安全。 一、Redis 简介 ...
### MySQL入门很简单—学习笔记知识点总结 #### 一、数据库概述 **1.1 数据存储方式** - **文件系统**:传统的数据存储方式,通过文件和文件夹组织数据。 - **数据库系统**:通过数据库管理系统(DBMS)进行数据...
而数据库学习笔记.docx则可能是个人的学习记录,涵盖了理论知识、实例解析、问题解决等内容,对于巩固和深化理解非常有帮助。 总的来说,掌握数据库和SQL的知识对于IT从业者至关重要,无论是开发、运维还是数据分析...
Java架构学习笔记Xmind图.zip是一个包含Java架构学习精华的压缩文件,其中很可能包含了详细的思维导图,用于梳理和组织Java开发中的各种架构概念和技术。这个压缩包可能旨在帮助Java开发者,尤其是初学者或进阶者更...
学习笔记包含的内容可能涵盖了Spark的基本概念、核心组件、数据处理流程以及实际应用案例等多个方面。以下是对这些知识点的详细说明: 1. **Spark概述**:Spark是基于内存计算的大数据处理框架,它提供了一种快速、...
Spark可以无缝接入各种数据源,如HDFS、Cassandra、HBase、Hive和S3,为数据处理提供了极大的灵活性。 Spark的核心数据抽象是弹性分布式数据集(RDD),RDD是只读的、分区的数据集合,分布在集群的不同节点上。RDD...