使用自定义名称将数据框保存到S3

时间:2019-03-12 17:41:35

标签: amazon-s3 pyspark

目标:在对数据框进行诸如此类的转换之后,我需要重新分区(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”

因此它正在正确地重新分区,但是没有按我的期望进行保存。我究竟做错了什么?如何使用定义的自定义名称直接从数据框(或动态框,我很乐意保存)中保存?

0 个答案:

没有答案