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 多列的主要内容,如果未能解决你的问题,请参考以下文章