Cassandra中的COPY命令将csv文件中的句子插入相邻的单元格中

问题描述

我在cassandra中使用了复制命令:

copY table_name TO 'path/file.csv' with HEADER = TRUE;

在csv中复制后,其中一个单元格值(它是很长的字符串)被打碎并散布在相邻的单元格中,在另一列下重叠。

需要解决方案才能正确暗示这一点。

解决方法

其中一个单元格值(它是一个很长的字符串)被打散并散布在相邻单元格的另一列下重叠。

听起来像单元格值可能包含逗号,导致其被过早拆分。尝试使用其他定界符。例如,如果您的文本数据不包含管道,则此方法应该起作用:

COPY table_name TO 'path/file.csv' with DELIMITER='|' AND HEADER = TRUE;
,

我建议不要使用DSBulk工具来将数据导入CSV和JSON或从CSV和JSON导入数据,而不是使用功能有限的COPY命令。格式-已针对快速数据导出/导入进行了大量优化,并且可配置性强。可能很简单(CSV是默认格式):

dsbulk unload -k keyspace -t table -url filename

您可以控制要导出的列,将数据存储在压缩文件中等等。有关示例,请参见以下博客文章: