IT虾米网

spark调优详解

xmjava 2021年11月03日 大数据 222 0
本文章主要介绍了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; 

待补充


发布评论
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

CAD中常说的组和块有什么区别和联系?
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。