【问题标题】:COPY command in Cassandra breaks in to adjacent cell the sentence in csv fileCassandra 中的 COPY 命令将 csv 文件中的句子插入到相邻单元格中
【发布时间】:2021-01-11 16:49:45
【问题描述】:

我在 cassandra 中使用复制命令:

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

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

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

【问题讨论】:

  • 你的字符串有多长?不过,这应该不是问题。看起来字符串出现在 csv 文件的其他列中,但它存在于单列中

标签: csv cassandra copy cqlsh


【解决方案1】:

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

听起来单元格值可能包含逗号,导致它被过早拆分。尝试使用不同的分隔符。例如,如果您的文本数据不包含管道,那么这应该可以:

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

【讨论】:

    【解决方案2】:

    我建议使用DSBulk 工具将数据导出到/从CSV 和JSON 格式导出或导入数据,而不是使用功能非常有限且难以处理大量数据的COPY 命令 - 它是为快速数据导出/导入进行了高度优化,并且非常可配置。它可以很简单(CSV 是默认格式):

    dsbulk unload -k keyspace -t table -url filename
    

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

    【讨论】:

      猜你喜欢
      • 2019-09-06
      • 2014-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-04
      • 1970-01-01
      相关资源
      最近更新 更多