配置参数
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格式的文件的时候需要加上这个配置。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。