spark调优详解大数据

本文章主要介绍了spark调优,具有不错的的参考价值,希望对您有所帮助,如解说有误或未考虑完全的地方,请您留言指出,谢谢!

1、小文件

hive表生成,特别容易产生小文件问题,影响访问表性能,总结做法如下:

//spark代码,repartition()=coalesce(true) 
//如果是文件合并前后相差较大,executor<=partition推荐coalesce,反之推荐repartition,尤其是合并文件后最终只生成一个文件,推荐使用repartition,可以提高并行度 
dataFrame.repartition(分区数) 
 
//如果文件合并前后相差不是特别大,建议使用coalesce 
dfReader.coalesce(分区数)
//设置spark.sql.shuffle.partitions参数配合DISTRIBUTE BY来控制小文件数 
//spark.sql.shuffle.partitions 值确定最终文件数量, 
//DISTRIBUTE BY key 根据key的值来分组每条数据写入到那个文件中 
 
SET spark.sql.shuffle.partitions = 1; 
insert into test_tab SELECT * FROM test_tab2 DISTRIBUTE BY key; 

待补充

原创文章,作者:kirin,如若转载,请注明出处:https://blog.ytso.com/228139.html

(0)
上一篇 2022年1月11日
下一篇 2022年1月11日

相关推荐

发表回复

登录后才能评论