Pyspark: запись фрейма данных, содержащего разделитель в значении - PullRequest
0 голосов
/ 14 февраля 2019

У меня есть CSV-файл с разделителем (",") в одном из столбцов.Пример:

1,Ajinkya,100
2,Shital,200
3,"Sameer,Veer",300
4,Poonam,400

Я создал следующую внешнюю таблицу поверх этого csv:

CREATE EXTERNAL TABLE default.employee (empid bigint, empname string, salary bigint) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' escaped by '\\' STORED AS TEXTFILE location 'path';

И прочитал то же самое в программе pyspark, используя следующий синтаксис:

df = sqlContext.sql("select * from default.employee")
df.show()

, который загружает данные, как и ожидалось в кадре данных:

+-----+-----------+------+
|empid|    empname|salary|
+-----+-----------+------+
|    1|    Ajinkya|   100|
|    2|     Shital|   200|
|    3|Sameer,Veer|   300|
|    4|     Poonam|   400|
+-----+-----------+------+

Теперь, когда я пытаюсь записать обратно кадр данных как csv, используя средство записи данных:

df.write.csv('location')

это приводит к следующему выводу:

+-----+-----------+------+
|    1|    Ajinkya|   100|
|    2|     Shital|   200|
|    3|     Sameer|      |
|    4|     Poonam|   400|
+-----+-----------+------+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...