Есть ли способ настроить S3 Bucket, чтобы добавить к существующему объекту для каждого запуска? - PullRequest
0 голосов
/ 14 марта 2019

У нас есть требование добавлять к существующему объекту S3, когда мы запускаем приложение spark каждый час.Я пробовал этот код:

df.coalesce(1).write.partitionBy("name").mode("append").option("compression", "gzip").parquet("s3n://path") 

Это приложение создает новые файлы паркета для каждого запуска.Следовательно, я ищу обходной путь для достижения этого требования.

Вопрос:

Как мы можем настроить контейнер S3 для добавления в существующий объект?

1 Ответ

1 голос
/ 15 марта 2019

невозможно добавить к объектам в Amazon S3.Они могут быть перезаписаны, но не добавлены.

По-видимому, существует хитрый метод, при котором файл может быть скопирован из нескольких частей, при этом для «источника» задается файл, а затем для некоторых дополнительных данных.Однако это не может быть достигнуто в показанном вами методе.

Если вы хотите добавить дополнительные данные во внешнюю таблицу (например, используемые EMR или Athena), то просто добавьте дополнительный файл в правильномпапка для нужного раздела.

...