Spark-Scala畸形线问题

时间:2017-05-25 19:08:01

标签: scala apache-spark malformed

我有一个控件 - 分隔文件,我试图将其转换为镶木地板格式。但是在文件中有一个字符串字段,其中包含一个“。”。

阅读如下数据:

val dataframe = sparkSession.sqlContext.read
                .format("com.databricks.spark.csv")
                .option("delimiter", datasetDelimiter)
                .option("header", "false")
                .option("mode","FAILFAST")
                //.option("mode", "DROPMALFORMED")
                .option("treatEmptyValuesAsNulls","true")
                .option("nullValue"," ")
                .option("ignoreLeadingWhiteSpace", "true")
                .option("ignoreTrailingWhiteSpace", "true")
                .schema(schema)
                .load(fileLocation)
                dataframe

正如您所看到的,数据中只有一个开放的双引号,没有封闭的双引号。这导致了畸形线异常。阅读时我已明确提到分隔符为U0001。有没有办法将这些数据转换为实木复合地板而不会丢失任何数据

1 个答案:

答案 0 :(得分:2)

您可以将quote选项设置为空字符串

.option("quote", "") 
// or, equivalently, .option("quote", '\u0000')

这会告诉Spark将"视为任何其他非特殊字符。

(使用Spark 2.1.0测试)