spark优化

spark合并小文件有两种办法,分别针对spark core和spark sql

#######一、设置spark配置文件的属性(spark sql)

spark.sql.shuffle.partitions

example:

SparkSession.builder().enableHiveSupport().config(conf).
  config("spark.sql.shuffle.partitions",5).
  getOrCreate()

这里表示shuffle时自动分区为5个分区

#######二、对DataFrame或者RDD之后调用如下方法重新分区(spark core)

调用coalesce(num) 或者 repartition(num)方法,其中num为分区数量,可简单的理解成文件数量,可以通过修改分区数来控制文件数,通过控制文件数量可以达到控制小文件的数量来解决此问题,对于DataFrame和RDD,这里推荐使用coalesce(num)来解决小文件问题

posted @ 2019-01-08 13:00  shenjie2017  阅读(3043)  评论(0编辑  收藏  举报