嗨:)我在spark / scala中有这个代码,它按类别将大数据(超过50GB)分成csv文件。
df.write
.mode(SaveMode.Overwrite)
.partitionBy("CATEGORY_ID")
.format("csv")
.option("header", "true")
.option("sep", "|")
.option("quoteAll", true)
.csv("output/inventory_backup")
数据帧df是来自csv文件的导入数据的聚合结果:
df.groupBy("PRODUCT_ID","LOC_ID","DAY_ID")
.agg(
functions.sum("ASSORTED_STOCK_UNIT").as("ASSORTED_STOCK_UNIT_sum"),
functions.sum("SOLID_STOCK_UNIT").as("SOLID_STOCK_UNIT_sum")
)
我想调整这个程序的性能。通过Spark UI,我能够看到性能瓶颈发生在将数据导出到csv文件的阶段。 enter image description here
更多细节=我使用的是16核/ 120GB RAM实例
你们对如何调整性能有任何想法吗? (目前需要超过17分钟)。 任何帮助都感激不尽。谢谢