美文网首页学习
Hive通用基础优化

Hive通用基础优化

作者: 八爪鱼下水 | 来源:发表于2021-02-24 17:52 被阅读0次
    1. hive基础优化
    1. 访问咨询主题看板_数据采集操作: 源数据 --> ODS层
    1. 访问咨询主题看板_清洗转换操作: ODS层 --> DWD层
    1. 访问咨询主题看板_数据分析的操作: DWD层 --> DWS层

1) HDFS的副本数量的调整

 建议, 一般调整为3个, 如果数据不是特别重要, 可以调整为2

2) Nodemanager的相关基础配置

    1. CPU配置操作:
    • 说明: 一般配置为和服务器的CPU核心数相同即可
如何查看服务器的核心数: 
 grep 'processor' /proc/cpuinfo | sort -u | wc -l
  • 如何配置: yarn.nodemanager.resource.cpu-vcores

3) 内存的配置

  • 说明: 根据当前服务器的剩余内存的80%的容量来配置
    • 公式: 剩余内存 * 0.8
  • 如何查看剩余内存:
    • 命令: free -m
      通过CM查询剩余内存:

如何配置内存: yarn.nodemanager.resource.memory-mb
除了设置上述基础内存配置, 还有几个配置

yarn.scheduler.maximum-allocation-mb : 
此值配置值为和  yarn.nodemanager.resource.memory-mb
保持一致

yarn.app.mapreduce.am.command-opts :
 略小于  
yarn.nodemanager.resource.memory-mb 
大于为 0.9

4) 新增磁盘 挂载HDFS配置 本地目录配置: NodeManager

存储中间数据文件的本地文件系统中的目录列表

  • 配置方案: 如果服务器中有多个磁盘, 此路径需要配置为多个, 每个路径代表的不同磁盘位置
  • 配置项: yarn.nodemanager.local-dirs

6) MaperReduce的内存配置:

map阶段:

mapreduce.map.memory.mb :
 每一个map默认申请的内存大小,
默认值为 0是自动推断.
mapreduce.map.java.opts :
每一个map的jvm的内存大小
注意:
mapreduce.map.java.opts
JVM一定要小于Map
mapreduce.map.memory.mb;

reduce阶段:

mapreduce.reduce.memory.mb : 
每一个reduce默认申请的内存大小,
默认值为 0  表示自动获取
mapreduce.reduce.java.opts :  
每一个reduce的jvm的内存大小
注意: 
mapreduce.reduce.java.opts 
一定要小于
mapreduce.reduce.memory.mb;

注意: MR中所有的内存配置, 都不能大于nodemanager的内存大小

7) hive的基础配置

  1. HiveServer2 的 Java 堆栈内存配置:
    什么时候需要调整此配置呢?
    搜索: JAVA堆栈大小
  • 说明: 当出现hiveserver2异常退出的时候, 一般就需要配置此项内容
  1. 动态生成分区的线程数
  • 说明: 在执行动态分区过程中, 可以运行多少个线程来生产分区数据, 线程数量越多, 执行效率越高, 前提是有资源
    如何配置:
hive.load.dynamic.partitions.thread  默认值为 15
  1. 监听输入文件线程数
  • 说明: hive在读取数据的线程数量配置, 此配置越高 读取数据效率越高, 前提是有资源
  • 如何配置:
hive.exec.input.listing.max.threads 默认值为 15

8) 压缩的配置

yarn配置:  
在CM中直接配置
mapreduce.map.output.compress  
是否开启map端压缩配置     默认开启的 
mapreduce.map.output.compress.codec  
map端采用何种压缩方案  
    建议配置为: org.apache.hadoop.io.compress.SnappyCodec

mapreduce.output.fileoutputformat.compress 
是否开启reduce端压缩配置  默认不开启的

mapreduce.output.fileoutputformat.compress.codec 
reduce端需要采用何种压缩操作建议配置为:
 
org.apache.hadoop.io.compress.SnappyCodec

mapreduce.output.fileoutputformat.compress.type
 采用压缩的方式  建议: block 块压缩 
    
hive配置:  此配置需要在会话中执行
set hive.exec.compress.intermediate=true; 

开启中间结果的压缩
set hive.exec.compress.output=true;

 是否开启最终结果压缩

9) 执行引擎选择:

hive.execution.engine 配置

  • 可选项: MR或者spark

相关文章

  • Hive通用基础优化

    hive基础优化 访问咨询主题看板_数据采集操作: 源数据 --> ODS层 访问咨询主题看板_清洗转换操作: ...

  • Apache Hive - 通用调优

    Apache Hive-通用优化-featch抓取机制 mr本地模式 Fetch抓取机制 功能:在执行sql的时...

  • 数仓--Hive-面试之Hive优化策略

    Hive的优化策略大致分为:配置优化(hive-site.xml和hive-cli执行前配置)、表优化、hive数...

  • Hive优化

    Hive简单优化与定期ETL Hive优化 Hive的执行依赖于底层的MapReduce作业,因此对Hadoop作...

  • Hive优化

    Hive优化 今天的主要内容——Hive优化 Fetch抓取Hive 中对某些情况的查询可以不必使用 MapRed...

  • Hive优化

    Hive数据倾斜优化总结 Hive数据倾斜优化分为配置优化和SQL优化 优先原则: 数据不怕多,避免倾斜。 减少J...

  • Hive 企业使用优化一

    Hive优化之一fetch task。 优化场景, 1、当在hive中执行select * from emp全部查...

  • Hive优化实践1-数据倾斜及join无关的优化

    Hive SQL的各种优化方法基本 都和数据倾斜密切相关。 Hive的优化分为join相关的优化和join无关的优...

  • Hive的Transform和UDF

    UDTF Hive中UDTF编写和使用 UDAF Hive udaf开发入门和运行过程详解 Hive通用型自定义聚...

  • Hive的性能优化以及数据倾斜

    hive性能优化 一、Map阶段的优化: (控制hive任务中的map数,确定合适的map数,以及每个map处理合...

网友评论

    本文标题:Hive通用基础优化

    本文链接:https://www.haomeiwen.com/subject/ofisfltx.html