Hive参数配置

Hive参数配置

1. Hive CLL

  • $HIVE_HOME/bin/hive是一个shellUtil,通常称之为hive的第一代客户端或者旧客户端,主要功能有两个

    • 用于交互式批处理模式运行Hive查询,注意,此时客户端,需要并且能够访问的是Hive metastore服务,而不是hiveserver2服务

    • 用于hive相关服务的启动,比如metastore服务

    • 常见命令

      -e <quoted-query-string>        执行命令行-e参数后指定的sql语句 运行完退出。
      -f <filename>                  执行命令行-f参数后指定的sql文件 运行完退出。
      -H,--help                      打印帮助信息
          --hiveconf <property=value>   设置参数
      -S,--silent                     静默模式
      -v,--verbose                   详细模式,将执行sql回显到console
         --service service_name        启动hive的相关服务
      
      • 当使用**-e或-f选项**运行$ HIVE_HOME / bin / hive时,它将以批处理模式执行SQL命令,一次执行,执行完毕退出
      • 交互式模式:客户端和Hive服务一直保持连接,除非手动退出客户端

2. Beeline CLL

  • $HIVE_HOME/bin/beeline被称之为第二代客户端或者新客户端,是一个JDBC客户端,是官方强烈推荐使用的Hive命令行工具,和第一代客户端相比,性能加强安全性提高。Beeline在嵌入式模式和远程模式下均可工作。
  • 远程模式下 beeline 通过 Thrift 连接到单独的 HiveServer2 服务上。

3. Configuration Properties 配置属性

  • 配置属性概述

    • Hive作为一款复杂的数据仓库软件,除了一些默认的属性行为之外,还支持用户配置属性进行修改,使得在某些场景下满足用户的需求。
    • 作为用户我们需要掌握两件事:
      • Hive有哪些属性支持修改,修改有什么功能
      • Hive支持那种方式进行修改,修改是临时有效还是永久生效
    • Hive配置属性的规范列表是在HiveConf.Java类中管理的,从Hive 0.14.0开始,会从HiveConf.java类中直接生成配置模板文件hive-default.xml.template,它是当前版本配置及其默认值的可靠来源。
  • 修改配置属性方式

    • hive-site。xml配置文件

      • 在$HIVE_HOME/conf路径下,可以添加一个hive-site.xml文件,把需要定义修改的配置属性添加进去,这个配置文件会影响到这个Hive安装包的任何一种服务启动、客户端使用方式,可以理解为是Hive的全局配置
    • hiveconf命令行参数

      • hiveconf是一个命令行的参数,用于在使用Hive CLI或者Beeline CLI的时候指定配置参数。这种方式的配置在整个的会话session中有效,会话结束,失效。

      • 比如在启动hive服务的时候,为了更好的查看启动详情,可以通过hiveconf参数修改日志级别:

        $HIVE_HOME/bin/hive --hiveconf hive.root.logger=DEBUG,console
        
    • set 命令

      • 在Hive CLI或Beeline中使用set****命令为set命令之后的所有SQL语句设置配置参数,这个也是会话级别的

      • 这种方式也是用户日常开发中使用最多的一种配置参数方式。因为Hive倡导一种:谁需要、谁配置、谁使用的一种思想,避免你的属性修改影响其他用户的修改

        #启用hive动态分区,需要在hive会话中设置两个参数:
        set hive.exec.dynamic.partition=true;
        set hive.exec.dynamic.partition.mode=nonstrict;
        
    • 服务器特定的配置文件

      • 可以设置特定metastore的配置值hivemetastore-site.xml中,并在HiveServer2特定的配置值hiveserver2-site.xml中。
      • Hive Metastore服务器读取$ HIVE_CONF_DIR或类路径中可用的hive-site.xml以及hivemetastore-site.xml配置文件。
      • HiveServer2读取$ HIVE_CONF_DIR或类路径中可用的hive-site.xml以及hiveserver2-site.xml。
      • 如果HiveServer2以嵌入式模式使用元存储,则还将加载hivemetastore-site.xml。
  • 概括总结

    • 配置文件的优先顺序如下,后面的优先级越高
      • hive-site.xml -> hivemetastore-site.xml -> hiveserver2-site.xml -> ’ -hiveconf’命令行参数
    • 配置方式的优先级顺序,优先级依次递增:
      • set参数生命 > hiveconf命令行参数 > hive-site.xml配置文件。
      • set参数声明覆盖命令行参数hiveconf,命令行参数覆盖配置文件hive-site.xml设定。
      • 日常的开发使用中,如果不是核心的需要全局修改的参数属性,建议使用set命令进行设置。
      • Hive也会读入Hadoop的配置,因为Hive是作为Hadoop的客户端启动的,Hive的配置会覆盖Hadoop的配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值