首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Cassandra中导入和导出密钥空间模式

在Cassandra中导入和导出密钥空间模式
EN

Stack Overflow用户
提问于 2012-07-27 13:53:55
回答 2查看 10.6K关注 0票数 6

我在我的系统上安装了一个Cassandra1.1.2作为单节点集群,并且有三个密匙空间:hotelstudentemployee。如果可能的话,我想转储hotel的键空间模式及其列族数据,并在其他Cassandra集群上恢复转储。有没有人能详细建议我该怎么做?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-27 15:31:13

您可以使用sstable2jsonjson2sstable cassandra工具

在同一和this上查看Datastax documentation

代码语言:javascript
复制
Usage: sstable2json [-f outfile] <sstable> [-k key [-k key [...]]]
Usage: json2sstable -K keyspace -c column_family <json> <sstable>

您始终可以在文件中执行cassandra-cli命令

代码语言:javascript
复制
cassandra-cli -h HOST -p PORT -f fileName

您可以将所有create语句装载到一个文件中并执行此命令

要获取cli脚本以创建键空间和列族,请在cassandra-cli界面中使用以下命令

代码语言:javascript
复制
show schema

但是以防你想要创建一个包含两个节点的集群。您不需要执行上述所有操作。只需使用不同的令牌范围和相同的集群名称启动另一个节点即可。Cassandra将在内部管理数据流和模式信息

票数 6
EN

Stack Overflow用户

发布于 2014-02-27 19:46:24

我不推荐使用stable2jsonjson2sstable来加载大量数据。它使用jackson API创建数据集并将其转换为json格式。它意味着将所有数据加载到内存中以创建唯一的json表示。

对于少量的数据是可以的,现在想象一下,加载一个超过4000万行的大型数据集,大约25‘t的数据,这些工具根本不能很好地工作。我已经在没有澄清的情况下问过datastax的人了。

在大型数据集的情况下,只需将cassandra数据文件从一个集群复制到另一个集群就可以解决问题。在我的例子中,我正在尝试从Cassandra 1.0.6集群迁移到1.2.1,数据文件在这个版本之间不兼容。

解决方案是什么?我正在编写自己的导出/导入工具来解决这个问题。我希望能尽快发布这个工具的链接。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11682197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档