Spark参数说明及调优

conf/spark-env.sh参数说明:

  • SPAKR_WORKER_MEMORY : 指单个Worker节点在本机上可以使用的内存上限, 如512m, 2g等. 默认大小为本机所有内存减去1GB
  • SPARK_EXECUTOR_MEMORY : 指单个进程(应用程序)在每个机器上可以使用的内存 , 默认是1g
  • SPARK_WORKER_CORES : 指单个Worker节点在本机上可以使用的CPU core上限, 默认是所有core

partition的使用

Spark中有partition概念, 每个partition都会对应一个task, task越多在处理大数据量时越有效率, 但是task不是越多越好, 当数据量不大时task越多反而效率越低.

如何设置task的个数呢, 有三种方式:

  • 方式一: 配置spark-default.conf文件

         spark.default.parallelism  100

         spark.sql.shuffle.partitions  50 (针对 spark sql的task数量)

  • 方式二:  编写代码时指定task的个数

         rdd.repartition(100).map(xxx)

  • 方式三:  spark-submit提交运行时进行配置

         spark-submit  --master xxx  --conf  spark.default.parallelism=100  --class xxx  xxx.jar

优先级: 方式三 > 方式二 > 方式一

范围:  worker > executor > task = partition

扫描二维码关注公众号,回复: 11108278 查看本文章
发布了84 篇原创文章 · 获赞 28 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/a544258023/article/details/89491496