当前位置:   article > 正文

Spark参数配置和调优,Spark-SQL、Config_spark-sql --conf

spark-sql --conf

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

  1. #设置计算引擎
  2. set hive.execution.engine=spark;
  3. #设置spark提交模式
  4. set spark.master=yarn-cluster;
  5. #设置作业提交队列
  6. set spark.yarn.queue=${queue_name};
  7. #设置队列的名字
  8. set mapreduce.job.queuename=root.users.hdfs;
  9. #设置作业名称
  10. set spark.app.name=${job_name};
  11. #该参数用于设置Spark作业总共要用多少个Executor进程来执行
  12. set spark.executor.instances=25;
  13. #设置执行器计算核个数
  14. set spark.executor.cores=4;
  15. #设置执行器内存
  16. set spark.executor.memory=8g
  17. #设置任务并行度
  18. set mapred.reduce.tasks=600;
  19. #设置每个executor的jvm堆外内存
  20. set spark.yarn.executor.memoryOverhead=2048;
  21. #设置内存比例(spark2.0+)
  22. set spark.memory.fraction=0.8;
  23. #设置对象序列化方式
  24. set spark.serializer=org.apache.serializer.KyroSerializer;
  25. #设置动态分区
  26. set hive.exec.dynamic.partition=true; --开启动态分区功能
  27. set hive.exec.dynamic.partition.mode=nonstrict; --允许所有分区是动态的
  28. set hive.exec.max.dynamic.partitions.pernode=1000; --每个mapper/reducer可以创建的最大动态分区数
  29. --set hive.exec.dynamic.partitions=10000; 这个可不要
  30. insert overwrite table test partition(country,state) select * from test2; --添加动态分区示例

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

  1. #python版本提交spark任务
  2. spark-submit \
  3. --master yarn \
  4. --deploy-mode client \
  5. --driver-memory 24G \
  6. --driver-cores 8 \
  7. --num-executors 100 \
  8. --executor-cores 8 \
  9. --executor-memory 24G \
  10. --conf spark.driver.maxResultSize=24G \
  11. --conf spark.kubernetes.executor.limit.cores=12 \
  12. --conf spark.kryoserializer.buffer.max=1024m \
  13. --conf spark.kryoserializer.buffer=512m \
  14. --conf spark.dynamicAllocation.enabled=true \
  15. --conf spark.shuffle.service.enabled=true \
  16. --conf spark.sql.shuffle.partitions=3200 \
  17. --conf spark.default.parallelism=3200 \
  18. --conf spark.storage.memoryfraction=0.3 \
  19. --conf spark.shuffle.memoryFraction=0.3 \
  20. --conf spark.sql.hive.mergeFiles=true \
  21. --conf spark.blacklist.enabled=true \
  22. --conf spark.speculation=true \
  23. --conf spark.sql.sources.readWithSubdirectories.enabled=false \
  24. --conf spark.sql.autoBroadcastJoinThreshold=102400 \
  25. --py-files utils.py \
  26. --name analysis \
  27. analysis.py ${calc_date}
  1. #scala 版本提交 spark任务
  2. spark-submit --class com.ad.data.algorithms.model.runModel \
  3. --master yarn \
  4. --deploy-mode cluster \
  5. --driver-memory 16G \
  6. --conf spark.driver.maxResultSize=16G \
  7. --driver-cores 8 \
  8. --num-executors 100 \
  9. --executor-cores 8 \
  10. --executor-memory 16G \
  11. --conf spark.dynamicAllocation.enabled=true \
  12. --conf spark.shuffle.service.enabled=true \
  13. --conf spark.sql.shuffle.partitions=3200 \
  14. --conf spark.default.parallelism=3200 \
  15. --conf spark.storage.memoryfraction=0.4 \
  16. --conf spark.shuffle.memoryFraction=0.4 \
  17. --conf spark.sql.hive.mergeFiles=true \
  18. --conf spark.blacklist.enabled=true \
  19. --conf spark.speculation=true \
  20. --conf spark.hadoop.hive.exec.orc.split.strategy=ETL \
  21. --name segment-model \
  22. ${basePath}/../algorithms-model.jar ${calculateDate} ${cateCodes}

三、sparkSession中配置参数

  1. from pyspark.sql import SparkSession
  2. from pyspark.sql.functions import lit, col, expr
  3. if __name__ == '__main__':
  4. script, calc_date = argv
  5. spark = SparkSession.builder.appName("analysis")\
  6. .config("spark.sql.autoBroadcastJoinThreshold", 102400)\
  7. .config("spark.driver.maxResultSize", "24G")\
  8. .enableHiveSupport().getOrCreate()
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/653182
推荐阅读
相关标签
  

闽ICP备14008679号