微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

17,关于spark的一些参数优化

Executor执行能力

spark.executor.memory=4g
用于缓存数据、代码执行的堆内存以及JVM运行时需要的内存。

spark.executor.cores=2
单个executor上可以同时运行的task数,该参数决定了一个executor上可以并行执行几个task。

Driver执行能力

spark.driver.memory=4g
driver端的内存和driver缓存,以及返回的数据的大小有关系。
spark.driver.cores=2

读取能力

读取文件的切分规则:
spark.default.parallelism=1

spark.sql.files.maxPartitionBytes=3200000;

spark.sql.files.openCostInBytes=4194304;

spark.hadoop.mapreduce.input.fileinputformat.split.maxsize=67108864;

spark.hadoop.mapreduce.input.fileinputformat.split.minsize.per.node=67108864;

spark.hadoop.mapreduce.input.fileinputformat.split.minsize.per.rack=67108864;
具体使用请参考我之前的博客

spark.hadoop.mapreduce.fileoutputcommitter.algorithm.version=2
spark.hadoop.mapreduce.input.fileinputformat.list-status.num-threads=50
spark.hadoopRDD.ignoreEmptySplits=true

矢量化reader

spark.sql.orc.enableVectorizedReader=true
spark.sql.orc.impl=native
spark.sql.hive.convertmetastoreOrc=true
spark.sql.hive.convertmetastoreParquet=true

shuffle能力

spark.sql.adaptive.enabled =true
spark.sql.adaptive.shuffle.targetPostShuffleInputSize=67108864
spark.sql.shuffle.partitions=1000;

join

spark.sql.autobroadcastJoinThreshold = 100000000;
hint

自适应执行

需要配置extend shuffle service
spark.sql.adaptive.enabled=true
spark.dynamicAllocation.enabled=true

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐