Как добавить новые строки в DataFrame?

#scala #apache-spark

#scala #apache-spark

Вопрос:

Есть ли способ в spark добавить строку в фрейм данных и загрузить это значение фрейма данных в s3 в какой-нибудь текстовый файл

я создал DF, прочитав текстовый файл из s3

 val DF = spark.read.textFile("s3_path/file_name.txt")
DF.show(200,false)

     ---------------------------------- 
    |value                             |
     ---------------------------------- 
    |country:india                     |
    |address:xyz                       |
 

После этого необходимо добавить и обновить некоторую строку в этом файле и загрузить ее обратно в s3 в том же месте

ожидаемый результат

  ---------------------------------- 
|value                             |
 ---------------------------------- 
|country:abcd                      |
|address:xyz                       |
|pin:1234                          |
 

Комментарии:

1. Да, это возможно. Но вы должны думать, что работа с Spark не предназначена для обновления файла строка за строкой. Spark предназначен для работы с тоннами данных, в вашем случае для одновременного обновления вашего df миллионами строк.

2. Спасибо @EmiCareOfCell44 за ваш ответ, мне не нужно обновлять строку за строкой, она обновит только ту строку, которую необходимо обновить пользователем (в зависимости от пользователя) и добавить.

3. Вы имеете в виду: «Есть ли способ добавить столбец в DF»?

4. не столбец, но нужно добавить строку в DF

Ответ №1:

Это операция объединения:

Возвращает новый набор данных, содержащий объединение строк в этом наборе данных и другом наборе данных.