配置参数

spark.driver.maxResultSize 在yarn模式下spark的 executor 执行完action以后需要将结果数据传回给driver节点,参数限制了单个executor 可以的最大结果大小,这样是为了保证driver的安全,防止因为数据量过大导致的driver端的oom问题,默认值为1G,最小值为1M,如果设置参数为0的话,即对文件不做任何限制。

spark.deault.parallelism 设置每个stage上默认的task的数量,如果不设置的话默认的是根据hdfs的block数量来拆分任务。并行度过高task数量就会过多,task的启动和切换开销会变大。并行度设置的过低,task数量减少,集群资源有可能浪费,task执行的时间会边长,同时还可能有oom的风险。一般情况下设置该参数为num-executors * executor-cores的2~3倍较为合适

spark.debug.maxToStringFields spark对要读取的表的字段个数有限制,当表的字段个数大于25的时候任务会报错,通过这个设置可以将报错字段的阈值提高。

spark.sql.warehouse.dir 指定的是spark读写hive时候数据的存放位置。

org.apache.spark.serializer.KryoSerializer 设置spark的序列化方式, org.apache.spark.serializer.KryoSerializer 序列化速度快、占用空间小,在任务需要大量的shuffle的时候可以提升效率,同时也会改变数据写到磁盘的数据格式。

spark.sql.hive.convertMetastoreOrc spark读取ORC格式的文件的时候需要加上这个配置。

[参考]https://mp.weixin.qq.com/s/7R...


nizaikanwome
7 声望0 粉丝

引用和评论

0 条评论