spark常用的调参详解

1.在submit中设置
spark常用的调参详解_第1张图片

在submit中设置注意后面的 \

–conf “spark.shuffle.blockTransferService=nio” \ 大数据集shuffle的时候,节点之间传输数据时使用netty 改为nio
–conf “spark.debug.maxToStringFields=500” \ 字段的字符串太长了
–conf “spark.sql.broadcastTimeout=1200” \ 广播等待超时时间,单位秒
–conf “spark.executor.extraJavaOptions=-XX:-UseGCOverheadLimit” \ 关闭限制GC的运行时间(默认启用 )
–conf “spark.port.maxRetries=128” \ Spark任务都会绑定一个端口来显示WebUI,默认端口为4040,如果被占用则依次递增+1端口重试,重试次数由参数spark.port.maxRetries=16控制,默认重试16次后就放弃执行
spark常用的调参详解_第2张图片

" class=“reference-link”>2.在代码中设置watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTgwNDA0OQ_size_16_color_FFFFFF_t_70 1
.config(“spark.serializer”, “org.apache.spark.serializer.KryoSerializer”) //使用kryo序列化的类库
/* .config(“spark.shuffle.manager”, “hash”)//设置为hashShuffleManager
.config(“spark.shuffle.consolidateFiles”, “true”)//开启consolidate机制 这两个不能使用不知道怎么回事 */
.config(“spark.default.parallelism”, “50”) //设置并行度 根据所使用的core来算 是core的3–5倍
.config(“spark.shuffle.file.buffer”, “64k”) //设置map端内存缓冲区大小
.config(“spark.reducer.maxSizeInFlight”, “96M”) //设置reduce端拉取数据的大小
.config(“spark.shuffle.memoryFraction”, “0.3”) //reduce端聚合内存占比
.config(“spark.shuffle.io.maxRetries”, “6”) //最多拉取次数

你可能感兴趣的:(liunx,spark,大数据,分布式)