我有一个控件 - 分隔文件,我试图将其转换为镶木地板格式。但是在文件中有一个字符串字段,其中包含一个“。”。
阅读如下数据:
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。有没有办法将这些数据转换为实木复合地板而不会丢失任何数据
答案 0 :(得分:2)
您可以将quote
选项设置为空字符串:
.option("quote", "")
// or, equivalently, .option("quote", '\u0000')
这会告诉Spark将"
视为任何其他非特殊字符。
(使用Spark 2.1.0测试)