Hive on spark参数调优

本文详细介绍了在Hive中启用动态分区、设置执行引擎为Spark以及进行一系列性能优化的参数配置,包括动态分区模式、最大动态分区数、创建文件数限制等。同时,讨论了Spark的相关配置,如driver和executor的内存分配、并行度设置,以提升大数据处理效率。
摘要由CSDN通过智能技术生成
beeline -u jdbc:hive2://test-master-node:10000 -n hadoop -e "
set hive.exec.dynamic.partition=true; -- 开启动态分区
set hive.exec.dynamic.partition.mode=nonstrict;
set hive.exec.max.dynamic.partitions=100000;
set hive.exec.max.dynamic.partitions.pernode=100000;
set hive.exec.max.created.files=6000000;
set hive.execution.engine=spark;   -- 开始spark执行引擎
set hive.merge.sparkfiles=true; -- spark引擎下开启小文件聚合
set hive.auto.convert.join=true;-- 开启mapjoin
set hive.auto.convert.join.noconditionaltask=true;
set hive.auto.convert.join.noconditionaltask.size=2000000000;-- 200MB spark引擎下改配置需要参考内存中的数据大小而不是磁盘上压缩的文件大小
set hive.map.aggr.hash.percentmemory=0.5;
set hive.map.aggr=true;-- 允许map端聚合
set hive.vectorized.execution.enabled=false;-- 不允许向量化执行 为true时在有distinct + union 操作时会失败
set mapreduce.job.queuename=batch; -- 队列名称
set spark.app.name=workbench_common_stat;  -- 任务名称
set spark.master=yarn-cluster;     -- 执行模式 yarn-cluster
set spark.driver.memory=2G; -- driver大小
set spark.executor.instances=10;-- executor数量
set spark.executor.cores=3;  -- 每个executor的core数
set spark.executor.memory=8G;-- executor分配的内存
set spark.memory.fraction=0.8;
set spark.default.parallelism=100;    -- spark任务默认并行度一般为所有cores * 3
set spark.serializer=org.apache.spark.serializer.KryoSerializer;  --序列化

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值