我正在尝试导入一个html片段,它是csv中某个列的一部分。html代码段中有双引号,它的值被转义。这个csv是使用apachespark创建的。
为了说明这个问题,我刚刚用最少的数据创建了两列。
CREATE TABLE logs.processing ( ts String,text String) ENGINE = Log
cat sample.csv // Content of the file
"Fri, 01 May 2020 06:47:05 UTC","<html id=\"html-div\">"
在引发异常后发出import命令。
cat sample.csv | clickhouse-client --query="INSERT INTO logs.processing FORMAT CSV"
例外
Code: 117. DB::Exception: Expected end of line
如果我将sample.csv的内容更改为
"Fri, 01 May 2020 06:47:05 UTC","col2"
很好用。
你能帮我解决这个问题吗。
谢谢。
2条答案
按热度按时间uurity8g1#
csv规范要求:
如果使用双引号括起字段,则出现在字段内的双引号必须在其前面加上另一个双引号进行转义。例如:
“aaa”,“b”,“bb”,“ccc”
它需要首先生成有效的csv文件,或者在传递给ch客户端之前修复它:
0lvr5msh2#
我已经在chgithub发布了这个查询。看起来到现在为止,它们只有双引号作为转义字符。
https://github.com/clickhouse/clickhouse/issues/10624