Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Csv 如何批量加载到cassandra而不是复制方法。?_Csv_Cassandra_Cassandra 2.0 - Fatal编程技术网

Csv 如何批量加载到cassandra而不是复制方法。?

Csv 如何批量加载到cassandra而不是复制方法。?,csv,cassandra,cassandra-2.0,Csv,Cassandra,Cassandra 2.0,我使用复制方法将.csv文件复制到cassandra表中。。 但我得到的记录不匹配错误 Record 41(Line 41) has mismatched number of records (85 instead of 82) 所有的.csv文件都会发生这种情况&所有的.csv文件都是系统生成的 是否有解决此错误的方法?根据您的错误消息,在记录41之前,复制命令似乎对您有效。您使用什么作为分隔符?COPY命令的默认分隔符是逗号,我敢打赌您的数据在第41行有一些额外的逗号 有几个选择: 编辑

我使用复制方法将.csv文件复制到cassandra表中。。 但我得到的记录不匹配错误

Record 41(Line 41) has mismatched number of records (85 instead of 82)
所有的.csv文件都会发生这种情况&所有的.csv文件都是系统生成的


是否有解决此错误的方法?

根据您的错误消息,在记录41之前,复制命令似乎对您有效。您使用什么作为分隔符?
COPY
命令的默认分隔符是逗号,我敢打赌您的数据在第41行有一些额外的逗号

有几个选择:

  • 编辑数据并删除多余的逗号
  • 更改.csv文件,将所有字段的值封装在双引号中,如
    COPY
    的默认值
    QUOTE
    所示。这将允许您在文本中保留逗号
  • 将.csv文件更改为使用管道(而不是逗号)分隔,并将
    COPY
    命令的
    分隔符
    选项设置为|
  • 尝试使用或导入数据。我从未使用过它们,但我敢打赌,如果数据集中有逗号,您也会遇到类似的问题

嘿,布莱斯,我现在遇到了另一个问题..我的一条记录中有管道,在那一行再次出现相同的错误..“记录不匹配错误”“我认为是记录中的管道被视为分隔符。我正在尝试其他的定界符,比如英镑和欧元符号,但它们不起作用,因为它们不是单字符定界符。你能给我推荐一个新的定界符吗?或者有没有办法将.tsv文件加载到cassandra中?如果你不能解决包含定界符的字段值的问题,那么请尝试我的第二个选项(将所有字段值封装在引号中),将
QUOTE
指定为“或”。否则,你可以尝试用反斜杠转义字段值中的管道。