在加载csv文件时,有一个选项可以删除格式错误的记录。我们可以对XLS文件加载执行相同操作吗? 我尝试加载XLS文件(大小接近1T),并且显示此错误:
warning: there was one deprecation warning; re-run with -deprecation for details
sqlContext: org.apache.spark.sql.SQLContext = org.apache.spark.sql.SQLContext@339370e
java.lang.IllegalArgumentException: MALFORMED
at java.util.zip.ZipCoder.toString(ZipCoder.java:58)
at java.util.zip.ZipInputStream.readLOC(ZipInputStream.java:300)
请告知。非常感谢。
答案 0 :(得分:0)
我想这就是您要寻找的(就像Java在CSV中所做的那样):
spark.read().format("csv").option("sep", ",")
.option("header", true)
.option("mode", "DROPMALFORMED")
.schema(schema)
.load(filePath);
在这里,我们mode
将处理malformed
条记录,并在遇到时将其删除。
同样,对于header
文件格式,true
设置为separator
,不会将其视为值,而comma
被定义为CSV
。
spark
是要在上述代码段之前创建的spark session
。