博客 Spark参数配置和调优,Spark-SQL、Config

Spark参数配置和调优,Spark-SQL、Config

   数栈君   发表于 2023-09-18 09:47  456  0

一、Hive-SQL / Spark-SQL参数配置和调优

#设置计算引擎
set hive.execution.engine=spark;

#设置spark提交模式
set spark.master=yarn-cluster;

#设置作业提交队列
set spark.yarn.queue=${queue_name};

#设置队列的名字
set mapreduce.job.queuename=root.users.hdfs;

#设置作业名称
set spark.app.name=${job_name};

#该参数用于设置Spark作业总共要用多少个Executor进程来执行
set spark.executor.instances=25;

#设置执行器计算核个数
set spark.executor.cores=4;

#设置执行器内存
set spark.executor.memory=8g

#设置任务并行度
set mapred.reduce.tasks=600;

#设置每个executor的jvm堆外内存
set spark.yarn.executor.memoryOverhead=2048;

#设置内存比例(spark2.0+)
set spark.memory.fraction=0.8;

#设置对象序列化方式
set spark.serializer=org.apache.serializer.KyroSerializer;

#设置动态分区
set hive.exec.dynamic.partition=true; --开启动态分区功能
set hive.exec.dynamic.partition.mode=nonstrict; --允许所有分区是动态的
set hive.exec.max.dynamic.partitions.pernode=1000; --每个mapper/reducer可以创建的最大动态分区数
--set hive.exec.dynamic.partitions=10000; 这个可不要
insert overwrite table test partition(country,state) select * from test2; --添加动态分区示例

二、shell脚本spark-submit参数配置

#python版本提交spark任务

spark-submit \
--master yarn \
--deploy-mode client \
--driver-memory 24G \
--driver-cores 8 \
--num-executors 100 \
--executor-cores 8 \
--executor-memory 24G \
--conf spark.driver.maxResultSize=24G \
--conf spark.kubernetes.executor.limit.cores=12 \
--conf spark.kryoserializer.buffer.max=1024m \
--conf spark.kryoserializer.buffer=512m \
--conf spark.dynamicAllocation.enabled=true \
--conf spark.shuffle.service.enabled=true \
--conf spark.sql.shuffle.partitions=3200 \
--conf spark.default.parallelism=3200 \
--conf spark.storage.memoryfraction=0.3 \
--conf spark.shuffle.memoryFraction=0.3 \
--conf spark.sql.hive.mergeFiles=true \
--conf spark.blacklist.enabled=true \
--conf spark.speculation=true \
--conf spark.sql.sources.readWithSubdirectories.enabled=false \
--conf spark.sql.autoBroadcastJoinThreshold=102400 \
--py-files utils.py \
--name analysis \
analysis.py ${calc_date}


#scala 版本提交 spark任务

spark-submit --class com.ad.data.algorithms.model.runModel \
--master yarn \
--deploy-mode cluster \
--driver-memory 16G \
--conf spark.driver.maxResultSize=16G \
--driver-cores 8 \
--num-executors 100 \
--executor-cores 8 \
--executor-memory 16G \
--conf spark.dynamicAllocation.enabled=true \
--conf spark.shuffle.service.enabled=true \
--conf spark.sql.shuffle.partitions=3200 \
--conf spark.default.parallelism=3200 \
--conf spark.storage.memoryfraction=0.4 \
--conf spark.shuffle.memoryFraction=0.4 \
--conf spark.sql.hive.mergeFiles=true \
--conf spark.blacklist.enabled=true \
--conf spark.speculation=true \
--conf spark.hadoop.hive.exec.orc.split.strategy=ETL \
--name segment-model \
${basePath}/../algorithms-model.jar ${calculateDate} ${cateCodes}

三、sparkSession中配置参数

from pyspark.sql import SparkSession
from pyspark.sql.functions import lit, col, expr

if __name__ == '__main__':
    script, calc_date = argv
    spark = SparkSession.builder.appName("analysis")\
        .config("spark.sql.autoBroadcastJoinThreshold", 102400)\
        .config("spark.driver.maxResultSize", "24G")\
        .enableHiveSupport().getOrCreate()




免责申明:


本文系转载,版权归原作者所有,如若侵权请联系我们进行删除!

《数据治理行业实践白皮书》下载地址:https://fs80.cn/4w2atu

《数栈V6.0产品白皮书》下载地址:
https://fs80.cn/cw0iw1

想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:
https://www.dtstack.com/?src=bbs

同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术群」,交流最新开源技术信息,群号码:30537511,项目地址:
https://github.com/DTStack

0条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

最新活动更多
微信扫码获取数字化转型资料
钉钉扫码加入技术交流群