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)
来解决小文件问题