Cassandra 复制——来自 100 多列

Posted

技术标签:

【中文标题】Cassandra 复制——来自 100 多列【英文标题】:Cassandra copy-from more than 100 columns 【发布时间】:2015-12-29 12:45:33 【问题描述】:

我正在通过cassandra-docs 了解如何使用 copy-from 和 copy-to 命令将数据获取到集群中。

来自文档的示例:

COPY airplanes (name, manufacturer, year, mach) FROM 'temp.csv';

我必须在括号中提及列名。如果我有超过 100 列怎么办?我不能一直输入列名,这是一项繁琐的任务。有没有其他方法可以实现这一点。

还有哪些其他来源可以加载数据,例如:excel、其他 db 或 xml 文件等。

【问题讨论】:

有时您需要输入列名。在定义列族或在复制脚本中使用cqlsh。您是否有可以复制和粘贴的列名列表? 【参考方案1】:

这不是 Cassandra 的问题,而是 cqlsh 的用户友好功能,它允许您从几种文件格式导入数据。如果您想要更高级的东西,请编写您自己的 Python 脚本(这正是 cqlsh 正在做的事情)。

来自 Datastax 学院:

注意:当目标表模式和源 CSV 文件列分别匹配时,复制不需要列名。

COPY videos FROM 'videos.csv';

【讨论】:

从标题开始,然后是您的链接,然后解释为什么这是不可能的(但对您自己的脚本来说是微不足道的),这也涵盖了您的问题“有没有其他方法可以实现这一目标。” ,你的最后一句话也包括在内(虽然它复制了 DOC - 你的链接,但这很好,因为复制数据是 Cassandra 的方式)。不客气。 什么部分?没什么好说的,cqlsh 为导入/导出一些文件格式提供了一些有限的支持,我认为这只是一种在 dev 中使用不同模式和填充数据库的方法,或者导出一小部分数据(错误等)。

以上是关于Cassandra 复制——来自 100 多列的主要内容,如果未能解决你的问题,请参考以下文章

Cassandra 中的单数据列与多列

将 DataFrame 拆分为来自多列的组字典

Uber是如何通过Mesos和Cassandra实现跨多个数据中心每秒100万的写入速度的?

调整 cassandra 中的写入性能

如何在 cassandra 中多插入行

如何为其他 Cassandra 的远程节点复制 Cassandra 的本地节点?