在将大数据写入csv时调整火花性能

时间:2018-04-11 15:28:18

标签: scala performance apache-spark apache-spark-sql spark-dataframe

嗨:)我在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分钟)。 任何帮助都感激不尽。谢谢

0 个答案:

没有答案