【发布时间】:2017-06-05 23:52:51
【问题描述】:
我有一个 control-A 分隔文件,我正在尝试将其转换为 parquet 格式。但是在文件中有一个字符串字段,其中包含一个 "。
读取如下数据:
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。有什么方法可以将此类数据转换为镶木地板而不会丢失任何数据
【问题讨论】:
-
我假设这是 Spark1 的?
-
为什么要使用 CSV 格式?为什么不直接使用
text并相应地拆分行?
标签: scala apache-spark malformed