gpt4 book ai didi

hadoop - Phoenix-> csv->封装的 token 和定界符之间的无效字符

转载 作者:行者123 更新时间:2023-12-02 20:21:56 24 4
gpt4 key购买 nike

我需要将CSV转储文件上传到Phoenix数据库

加载没有任何特殊字符的文件不会出现问题

./psql.py -t TTT localhost /home/isaev/output.csv -d';'

但是,当我尝试加载数据文件中用引号引起来的相同文件时,我得到一个错误
java.lang.RuntimeException: java.io.IOException: (line 1) invalid char between encapsulated token and delimiter
at org.apache.commons.csv.CSVParser$1.getNextRecord(CSVParser.java:398)
at org.apache.commons.csv.CSVParser$1.hasNext(CSVParser.java:407)
at org.apache.phoenix.util.UpsertExecutor.execute(UpsertExecutor.java:132)
at org.apache.phoenix.util.CSVCommonsLoader.upsert(CSVCommonsLoader.java:217)
at org.apache.phoenix.util.CSVCommonsLoader.upsert(CSVCommonsLoader.java:182)
at org.apache.phoenix.util.PhoenixRuntime.main(PhoenixRuntime.java:308)
Caused by: java.io.IOException: (line 1) invalid char between encapsulated token and delimiter
at org.apache.commons.csv.Lexer.parseEncapsulatedToken(Lexer.java:275)
at org.apache.commons.csv.Lexer.nextToken(Lexer.java:152)
at org.apache.commons.csv.CSVParser.nextRecord(CSVParser.java:450)
at org.apache.commons.csv.CSVParser$1.getNextRecord(CSVParser.java:395)
... 5 more

例如在第一行(第1行)中,我有此条目

5863355029; 007320071;邹:“对生活微笑”;真;

我自己找到了解决方案:
-q'\'
有人可以派上用场吗

最佳答案

您可以使用引号2次来解决您的问题:

5863355029;007320071; ZAO ""With a smile for life"";True;

每个字段可能会或可能不会用双引号引起来。如果字段没有用双引号引起来,则双引号可能不会出现在字段内。

如果您对以下原因感兴趣,请检查此链接: https://www.marklogic.com/blog/delimited_text_mlcp/

关于hadoop - Phoenix-> csv->封装的 token 和定界符之间的无效字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59945617/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com