我已将C-ISAM数据导出为ASCII文件,现在我想将其导入到Cassandra数据库中。有没有办法这样做? 有关信息,ASCII文件基于偏移!
感谢您的帮助!
答案 0 :(得分:1)
您需要使用COPY FROM
,但您需要进行一些预处理。 COPY不是CQL语句,而是CQLSH命令,因此您只能从CQL Shell运行它。
首先,您需要创建要导入的表。这是您定义所有列的位置。
其次,这是导入的命令语法(分隔符是可选的,支持更多选项:请参阅here):
COPY mytable([col1, col2, etc...]) FROM ('file.txt') WITH DELIMITER=',';
最后,这里有一些额外的工作,Cassandra只能导入CSV数据(其中列由分隔符分隔),而不是基于偏移量。为了解决这个问题,我会用您喜欢的语言编写一个小脚本,它将读取您现有的ASCII文件,并逐行将其转换为CSV格式。这应该不超过2行代码,所以它应该是一个明智的选择。
在下面的评论中观察到编辑 zubs ,可以利用某些第三方应用程序(如Excel)转换为CSV格式,无需编写自定义代码