当记录包含“逗号”时,Spark添加额外的空间

时间:2019-12-14 00:25:29

标签: java apache-spark apache-spark-sql

我的输入是“ |” (管道)分隔符文件。我无法更改输入文件。 格式是

HEADER_A|HEADER_B|HEADER_C
A|B|C
A D|B|  => records without comma generates output like "A D|B|"
A,D|B|  => records with comma generates output like    " A,D|B| "

Spark配置为:

sparkSession.read()
 .option("header","true")
 .option("delimiter","|")
 .schema(schema) * assume this is valid and represents the correct schema
 .csv(fileName)
.cache();

我尝试使用“ sep”选项,但效果不佳。 如果我的定界符是“ |”,为什么Spark对带有逗号的记录会有不同的影响?

1 个答案:

答案 0 :(得分:0)

我发现了我的错误。由于记录包含逗号,因此在写入文件时不应使用.csv(path) 从...更改

dataset.write()...
.csv(path)

dataset,write()...
.text(path)

解决了