Spark: Как перезаписать файл в папке S3, а не в папку - PullRequest
0 голосов
/ 09 июля 2019

Используя Spark, я пытаюсь перенести некоторые данные (в формате csv, parquet) в корзину S3.

df.write.mode("OVERWRITE").format("com.databricks.spark.csv").options(nullValue=options['nullValue'], header=options['header'], delimiter=options['delimiter'], quote=options['quote'], escape=options['escape']).save(destination_path)

В приведенном выше фрагменте кода переменная destination_path содержит область памяти S3, в которую необходимо экспортировать данные.

Например. destination_path = "s3://some-test-bucket/manish/"

В папке manish из some-test-bucket, если у меня есть несколько файлов и подпапок. Приведенная выше команда удалит их все и спарк запишет новые выходные файлы. Но я хочу перезаписать только один файл этим новым файлом.

Даже если я смогу перезаписать только содержимое этой папки, но подпапка останется нетронутой, даже это решит проблему в определенной степени.

Как этого достичь?

Я пытался использовать режим в качестве добавления вместо перезаписи.

Здесь в этом случае имя подпапки остается неизменным, но снова все содержимое папки manish и ее подпапки перезаписываются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...