Сохранить фрейм данных на S3 с произвольным именем - PullRequest
0 голосов
/ 12 марта 2019

Цель: после выполнения преобразований и тому подобного в моем фрейме данных мне нужно переразбить (1), а затем написать с произвольным именем в S3. Многие из вопросов, которые я нашел по этому вопросу, говорят о невозможности переименования объектов S3, и я не хочу «копировать, а затем удалять оригинальный» подход, поскольку он не будет хорошо масштабироваться.

Вот мой рабочий код:

datasource0 = glueContext.create_dynamic_frame.from_catalog(database = databaseName, table_name = tableName,  transformation_ctx = "datasource0")
datasink4 = datasource0.toDF().repartition(1)
datasink4 = datasink4.write.format('csv').mode("overwrite").save("s3://bucket-name-here/" + tableName + "/" + tableName + ".csv")

tableName - это переменная, которую я определил ранее в коде. Этот код не является ошибкой, но вместо этого создает объект с именем: "S3: //bucket-name-here/tableName/tablename.csv/part-0000-dfrandomstringofcharacters.csv"

Так что он правильно перераспределяет, но не сохраняет, как я хочу Что я делаю неправильно? Как я могу сохранить непосредственно из фрейма данных (или динамического фрейма, я открыт для этого) с пользовательским именем, которое я определяю?

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