2
我試圖讀取一個使用反斜線來轉義分隔符而不是使用引號的CSV文件。我已經試過構建沒有qoutes和轉義字符的DataFrameReader,但它不起作用。看起來「逃生」選項只能用於轉義引號字符。除了創建自定義輸入格式之外,還有其他解決方法嗎?Spark 2.0 Scala - 使用轉義分隔符讀取csv文件
下面是我使用現在的選項:
spark.read.options(Map(
"sep" -> ",",
"encoding" -> "utf-8",
"quote" -> "",
"escape" -> "\\",
"mode" -> "PERMISSIVE",
"nullValue" -> ""
例如,讓我們說我們有下面的示例數據:
架構:產品名稱,城市
Joe Bloggs,Dublin\,Ireland
Joseph Smith,Salt Lake City\,\
Utah
這應該返回2條記錄:
Name | City
-----------------|---------------
Joe Bloggs | Dublin,Ireland
Joseph Smith | Salt Lake City,
Utah
能夠逃脫換行符是一件很好的事情,但是需要轉義列分隔符。現在我正在考慮用spark.textFile讀取這些行,然後使用一些CSV庫來解析各行。這將修復我的轉義列分隔符問題,但不會轉義行分隔符。
你能提供樣品行格式嗎? –
我認爲你是對的,請[檢查](https://github.com/databricks/spark-csv/blob/master/src/main/scala/com/databricks/spark/csv/package.scala) –
示例數據添加到問題。 –