Не может быть в состоянии написать таблицу с заголовком к пути s3 в pyspark? - PullRequest
0 голосов
/ 29 апреля 2019

У меня есть следующий набор данных:

+-------------------+-------+------------+                                      
|test_control_status|user_id|loyalty_type|
+-------------------+-------+------------+
|TEST               |920799 |loyalty     |
|TEST               |922428 |loyalty     |
|TEST               |2063890|loyalty     |
|TEST               |2344814|loyalty     |
|TEST               |2355426|loyalty     |
|TEST               |2618707|loyalty     |
+-------------------+-------+------------+

Я использовал следующий скрипт для записи вышеуказанной таблицы в s3 путь:

df.write.option("header","true").mode("overwrite").csv("<s3: path>")

Но при попытке прочитать таблицу для дальнейшей работы таблица выглядит так:

+-------------------+-------+------------+                                      
|                _c0|    _c1|         _c2|
+-------------------+-------+------------+
|test_control_status|user_id|loyalty_type|
|TEST               |920799 |loyalty     |
|TEST               |922428 |loyalty     |
|TEST               |2063890|loyalty     |
|TEST               |2344814|loyalty     |
|TEST               |2355426|loyalty     |
|TEST               |2618707|loyalty     |
+-------------------+-------+------------+

Где я хочу, чтобы таблица была такой:

+-------------------+-------+------------+                                      
|test_control_status|user_id|loyalty_type|
+-------------------+-------+------------+
|TEST               |920799 |loyalty     |
|TEST               |922428 |loyalty     |
|TEST               |2063890|loyalty     |
|TEST               |2344814|loyalty     |
|TEST               |2355426|loyalty     |
|TEST               |2618707|loyalty     |
+-------------------+-------+------------+

Я попытался записать файл в формате parquet, тогда это сработало, но я хочу написать файл только в формате .csv. Любая помощь или подсказка будут высоко оценены.

1 Ответ

0 голосов
/ 29 апреля 2019

Это должно сделать,

sqlContext.read.csv("s3:///file_path", header = True)
...