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; --序列化
Hive on spark参数调优
最新推荐文章于 2024-08-08 17:31:50 发布
本文详细介绍了在Hive中启用动态分区、设置执行引擎为Spark以及进行一系列性能优化的参数配置,包括动态分区模式、最大动态分区数、创建文件数限制等。同时,讨论了Spark的相关配置,如driver和executor的内存分配、并行度设置,以提升大数据处理效率。
摘要由CSDN通过智能技术生成