aws glue scala,输出一个带分区的文件

kq4fsx7k  于 2021-07-14  发布在  Java
关注(0)|答案(1)|浏览(409)

用python解决方案来解决这个问题有很多问题,但是在寻找胶水方面有问题。我明白这两种方法都是利用pyspark的,但当我尝试将基于python的解决方案改编为scala时,我会遇到编译错误。我既想问问题,又想为其他有同样问题的人提供一个简单的参考。
基本上我是这样生成输出的

val datasource0 = DynamicFrame(data, glueContext).withName("datasource0").withTransformationContext("datasource0")
val datasink2 = glueContext.getSinkWithFormat(connectionType = "s3", options = JsonOptions(Map("path" -> "s3://sf_path")),format = "parquet", transformationContext = "datasink2").writeDynamicFrame(datasource0)

pyspark是pyspark,它为这个转换生成多个输出文件。如何修改作业以只创建一个输出文件?

63lcw9qa

63lcw9qa1#

你可以使用这个函数 repartition 在你的斯卡拉上 DynamicFrame . 分区数等于输出文件数。这里有更多的信息。
代码示例: val repartitionedDataSource1 = datasource1.repartition(1)

相关问题