我使用的是scala 2.11的spark core版本2.0.1。我有简单的代码来读取一个csv文件,它有\转义符。
val myDA = spark.read
.option("quote",null)
.schema(mySchema)
.csv(filePath)
根据文档\是csv读取器的默认转义。但它不起作用。spark正在读取\作为我数据的一部分。例如:csv文件中的city列是north rocks\,au。我期待城市专栏应该读在代码为北岩,澳州。但spark却把它读作northrocks\并把au移到下一列。
我试过以下方法,但没有成功:
显式定义的escape.option(“escape”,“\”)
在文件和代码中将escape改为| or:
我试过使用spark csv库
有人面临同样的问题吗?我错过什么了吗?
谢谢
1条答案
按热度按时间zsbz8rwp1#
所以escape只能使用引号。如果你想逃跑,建议使用引号。
https://github.com/databricks/spark-csv/issues/390