У меня есть запрос, подобный следующему
val query = "select 'a' as col_1, ' ' as col_2, col_3,col_4 from mytable"
val df = sqlContext.sql(query)
Теперь, если я отображаю фрейм данных, он выглядит следующим образом:
col_1|col_2|col_3|col_4
a| |test|test
a| |testa|testa
a| |testb|testb
Это, как и ожидалось.Однако, если я записываю этот кадр данных на диск
df.write
.option("sep",",")
.csv(file)
Файл содержит следующее:
a,\"\",test,test
a,\"\",testa,testb
a,\"\",testb,testb
Второй столбец неверен, он должен быть просто одним пробелом, без кавычек иличто угодно.
Как мне этого избежать?Я хочу, чтобы мой файл выводился как:
a, ,test,test
a, ,testa,testb
a, ,testb,testb
Проверка исполняемого кода -
val tempview = "temptest"
val path = "/mnt/test/"
var df = Seq(
(8, "bat"),
(64, "mouse"),
(-27, "horse")
).toDF("number", "word")
df.createOrReplaceTempView(tempview)
df = sqlContext.sql("select 'a' as first, ' ' as second, number, word from temptest")
df.write.mode(SaveMode.Overwrite).option("sep", ",").csv(path)
val l = dbutils.fs.ls(path)
val file = l(l.size - 1)
val output = dbutils.fs.head(path + file.name)
println(output)
Вывод - a,\"\",-27,horse
Ожидаемый вывод - a, ,-27,horse