Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.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
Java 用引号emode NON_NUMERIC编写一个CSV文件,使字符串和非数值单元格仅用引号括起来_Java_Apache Spark - Fatal编程技术网

Java 用引号emode NON_NUMERIC编写一个CSV文件,使字符串和非数值单元格仅用引号括起来

Java 用引号emode NON_NUMERIC编写一个CSV文件,使字符串和非数值单元格仅用引号括起来,java,apache-spark,Java,Apache Spark,我要编写一个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”选项,或

我要编写一个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”选项,或者即使我将其设置为
非数值的
,请按以下方式:

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”、“非数值”)
生成:

codeCommuneCR,nomCommuneCR,populationCR,resultatComptable
"03142","LENAX",267,43
根据我的模式

如何进行设置


关于,

我已经打开了一个关于它的问题,并且了解到
Spark
现在通过
Univocity
处理CSV,他们不再支持此功能


未计划重新添加,因此不再考虑
“quoteMode”
选项。

可能是一个错误。考虑在Suff.ApACH上提交一份报告。我找不到任何其他方法来区分Spark CSV中的空字符串和空值。DataFrameWriter的
emptyValue
nullValue
选项应有助于区分空字符串和空值。