`
goon
  • 浏览: 183764 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Cassandra数据存储

阅读更多

版本:0.7.6

客户端:cassandra自带的thrift客户端

标准column的查询、删除、新增:

写道
TTransport tr = new TFramedTransport(new TSocket("localhost",9160));
TProtocol proto = new TBinaryProtocol(tr);
Cassandra.Client client = new Cassandra.Client(proto);
tr.open();

client.set_keyspace("Keyspace1");
ColumnPath path = new ColumnPath();
long timestamp = System.currentTimeMillis();

// 插入数据
Column column = new Column();
column.setName("age".getBytes());
column.setValue("19".getBytes());
column.setTimestamp(timestamp);
client.insert(ByteBuffer.wrap("user".getBytes()), new ColumnParent("standard1"), column, ConsistencyLevel.ONE);

// 读取数据
path = new ColumnPath();
path.setColumn_family("standard1");
path.setColumn("age".getBytes("UTF-8"));
ColumnOrSuperColumn cc = client.get(ByteBuffer.wrap("user".getBytes()), path, ConsistencyLevel.ONE);
Column c = cc.getColumn();
String v = new String(c.getValue(), "UTF-8");
System.out.println("Value--------" + v);

//删除数据
// path = new ColumnPath();
// path.setColumn_family("standard1");
// path.setColumn("age".getBytes("UTF-8"));
// client.remove(ByteBuffer.wrap("user".getBytes()), path, timestamp, ConsistencyLevel.ONE);

// 关闭数据库连接
tr.close();

 SuperColumn新增和查询:

/**
	 * 插入SuperColumn
	 * 
	 * @throws Exception
	 */
	public void insertSuperColumn() throws Exception {
		TTransport tr = new TFramedTransport(new TSocket("localhost",9160));
		 TProtocol proto = new TBinaryProtocol(tr); 
		 Cassandra.Client client = new Cassandra.Client(proto); 
		 tr.open(); 
		 
		client.set_keyspace("Keyspace1");
		
		ColumnParent cp1 = new ColumnParent();
		cp1.setColumn_family("Super2");
		cp1.setSuper_column("address".getBytes());
		
		Column city = new Column();
		city.setName("province".getBytes());
		city.setValue("guangdong".getBytes());
		city.setTimestamp(time);
		
		client.insert(ByteBuffer.wrap("user2".getBytes()), cp1, city, ConsistencyLevel.ONE);
	}
	

	/**
	 * 读取SuperColumn
	 * 
	 * @throws Exception
	 */
	public void getSuper() throws Exception {
		TTransport tr = new TFramedTransport(new TSocket("localhost",9160));
		 TProtocol proto = new TBinaryProtocol(tr); 
		 Cassandra.Client client = new Cassandra.Client(proto); 
		 tr.open(); 
		 
		client.set_keyspace("Keyspace1");
		
		ColumnPath path = new ColumnPath("Super2");
		
		path.setSuper_column("address".getBytes());
		path.setColumn("province".getBytes());
		ColumnOrSuperColumn s = client.get(ByteBuffer.wrap("user5".getBytes()), path, ConsistencyLevel.ONE);
		
		System.out.println(new String(s.column.getValue(), "utf8"));
	}

 困惑:如果superColumn下的Column是一个SuperColumn怎么插入数据?没有找到相关的api。

分享到:
评论

相关推荐

    cassandra数据存储系统

    ### Cassandra 数据存储系统详解 #### 一、引言与背景 Cassandra 是一款由 Facebook 开发的分布式存储系统,主要用于管理大规模结构化数据,并能在众多低成本服务器之间进行数据分布。该系统旨在提供高度可用的...

    pillar, Pillar管理你的Cassandra数据存储的迁移.zip

    pillar, Pillar管理你的Cassandra数据存储的迁移 柱用于你的数据存储的支柱管理迁移。Pillar希望自动管理Cassandra模式的愿望。 作为代码管理模式能够实现自动化构建和部署,这是组织努力实现持续交付过程的基本实践...

    基于Cassandra的实时气象数据分布式存储系统.pdf

    该系统采用Cassandra作为分布式存储解决方案,旨在满足气象数据存储的高可用性和性能要求。 1. Cassandra关键技术点 Cassandra是一种开源的分布式NoSQL数据库系统,基于一致性哈希算法的P2P环形结构。该结构使得每...

    Cassandra的数据模型介绍

    在 Cassandra 中,一个 ColumnFamily 相当于传统数据库中的表,但它不遵循严格的行与列的关系,而是以键值对的形式存储数据,允许更加灵活的数据结构。 ColumnFamily 中的每个实体(Key)可以有零个或多个 ...

    java导出cassandra数据

    Cassandra的数据存储基于表(Table),这些表分布在多个节点上,形成一个分区(Partition)。每个分区由键(Partition Key)决定,而行(Row)由主键(Primary Key)确定。在Java中,我们可以使用DataStax的...

    在Spark上使用CLI读取Cassandra数据

    在Spark上使用CLI读取Cassandra数据是一种常见的大数据处理场景,Cassandra是一个分布式NoSQL数据库,而Spark则是一个用于大规模数据处理的计算框架。这两者的结合可以提供高效、可扩展的数据处理能力。以下是对这个...

    存储数据(cassandra)

    总结来说,Cassandra作为一款强大的NoSQL数据库,以其独特的分布式架构、灵活的数据模型和出色的扩展性,成为许多大规模数据存储解决方案的选择。深入了解和熟练掌握Cassandra的使用,对于构建高可用、高性能的...

    Cassandra数据模型

    通过理解Cassandra的数据模型,开发者可以更好地设计和优化数据存储,以适应大数据环境下的高性能、高可用和可扩展的需求。在实际应用中,根据业务场景选择合适的分区策略、复制策略以及一致性级别,是充分利用...

    分布式存储系统:Cassandra:Cassandra数据模型与CQL语言.docx

    分布式存储系统:Cassandra:Cassandra数据模型与CQL语言.docx

    MariaDB Cassandra interoperability Cassandra Storage Engine in MariaDB

    - 无需使用CQL,而使用更熟悉的SQL语句来操作Cassandra数据。 - 提供了NoCQL运动的起点,意味着用户可以不必学习新的查询语言,直接利用现有的SQL技能。 #### 4. **数据映射** 在使用Cassandra存储引擎时,数据...

    liunx下cassandra的安装配置

    创建 Cassandra 数据存储所需的目录: ```bash mkdir /var/lib/cassandra/data mkdir /var/lib/cassandra/commitlog mkdir /var/lib/cassandra/saved_caches ``` 5. **设置权限** 设置上述目录及 Cassandra...

    kafka-storm-cassandra:可以使用JSON数据填充Apache kafka主题并使用Apache Storm处理它们的代码库,进行一些转换并最终存储到Apache cassandra数据存储中

    可以使用JSON数据填充Apache kafka主题并使用Apache Storm处理它们的代码库,进行一些转换并最终存储到Apache cassandra数据存储中 用数据填充源kafka主题。 源kafka主题在/ src / main / resources文件夹下的“ ...

    NoSQL数据库系统-Cassandra分布式结构化数据存储视频教程

    用于储存收件箱等简单格式数据,集GoogleBigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身Facebook于2008将 Cassandra 开源,此后,由于Cassandra良好的可扩展性,被等知名网站所采纳,成为了一种流行的...

    Cassandra 的数据rollbock机制

    在Cassandra中,数据rollbock机制是一个重要的概念,它涉及到数据存储、数据管理和优化。下面将详细介绍Cassandra的数据rollbock机制及其相关知识点。 1. 数据模型:Cassandra的数据模型基于列族(ColumnFamily),...

    joola.datastore-cassandra:Joola 的 Cassandra 数据存储

    joola.datastore-cassandra是一个 joola 插件,用于为其操作提供基于 Cassandra 的数据存储。 设置指南 技术文档 贡献 我们很乐意得到您的帮助! 我们概述了一个简单的贡献政策,以支持想法、代码、错误修复和...

    Cassandra关键技术详解[整理].pdf

    Cassandra 关键技术详解 Cassandra 是一种 NoSQL 数据库,属于键值存储系统,广泛应用于社交网络、...其数据模型借鉴了谷歌 Bigtable 的设计,具有高性能、高可用、灵活的一致性等特点,适合大规模数据存储和处理。

    cassandra-3.11.3下载

    Cassandra的设计灵感来源于Google的Bigtable,旨在处理大规模的数据存储需求,特别适合大数据场景和互联网应用。在Cassandra 3.11.3版本中,我们看到了许多优化和改进,使其成为企业级应用的可靠选择。 首先,...

    基于Cassandra的海量MUSER数据分布式存储与检索研究.pdf

    针对这些问题,文章提出了一种基于Cassandra的海量数据存储与检索应用研究。 在技术研究与应用方面,首先,作者详细分析了MUSER数据的特点、存储需求以及面临的问题。然后,进行了数据建模,并提出了列式非关系型...

    Cassandra(apache-cassandra-4.0.1-bin.tar.gz)

    用于储存收件箱等简单格式数据,集GoogleBigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身Facebook于2008将 Cassandra 开源,此后,由于Cassandra良好的可扩展性,被Digg、Twitter等知名Web 2.0网站所...

Global site tag (gtag.js) - Google Analytics