我有一个具有该架构的CSV文件:
StructType s = schema.add("codeCommuneCR", StringType, false);
s = s.add("nomCommuneCR", StringType, false);
s = s.add("populationCR", IntegerType, false);
s = s.add("resultatComptable", IntegerType, false);
如果我不提供选项“quoteMode”,或者即使我将其设置为
NON_NUMERIC
,也可以这样:ds.coalesce(1).write().mode(SaveMode.Overwrite)
.option("header", "true")
.option("quoteMode", "NON_NUMERIC")
.option("quote", "\"")
.csv("./target/out_200071470.csv");
Spark
编写的CSV是这样的:codeCommuneCR,nomCommuneCR,populationCR,resultatComptable
03142,LENAX,267,43
如果我改为设置“quoteAll”选项,则这样:
ds.coalesce(1).write().mode(SaveMode.Overwrite)
.option("header", "true")
.option("quoteAll", true)
.option("quote", "\"")
.csv("./target/out_200071470.csv");
它产生:
codeCommuneCR,nomCommuneCR,populationCR,resultatComptable
"03142","LENAX","267","43"
但是我想
.option("quoteMode", "NON_NUMERIC")
生成:codeCommuneCR,nomCommuneCR,populationCR,resultatComptable
"03142","LENAX",267,43
根据我的模式。
我应该如何设置?
问候,
最佳答案
我已经解决了一个问题,并了解到Spark
现在可以通过Univocity
处理CSV了,该人不再支持此功能。
没有计划重新添加它,不再考虑"quoteMode"
选项。