用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,它为这个转换生成多个输出文件。如何修改作业以只创建一个输出文件?
1条答案
按热度按时间63lcw9qa1#
你可以使用这个函数
repartition
在你的斯卡拉上DynamicFrame
. 分区数等于输出文件数。这里有更多的信息。代码示例:
val repartitionedDataSource1 = datasource1.repartition(1)