Hive命令及属性配置

Hive命令及属性配置


文章目录

  • Hive命令及属性配置
    • 写在前面
    • Hive常用交互命令
      • Hive支持的命令查看
      • 参数解释说明
    • Hive其他命令
    • Hive常见属性配置
      • hive窗口打印默认库和表头
      • Hive运行日志信息配置
      • 参数配置方式

写在前面

  • Linux版本:CentOS7.5
  • Hive版本:Hive-3.1.2

Hive常用交互命令

Hive支持的命令查看

  • 执行hive -H 或者 hive --help命令即可

注意:请进入到Hive安装目录下的bin目录,再执行上述命令

shell 复制代码
usage: hive
 -d,--define <key=value>          Variable subsitution to apply to hive
                                  commands. e.g. -d A=B or --define A=B
    --database <databasename>     Specify the database to use
 -e <quoted-query-string>         SQL from command line
 -f <filename>                    SQL from files
 -H,--help                        Print help information
    --hiveconf <property=value>   Use value for given property
    --hivevar <key=value>         Variable subsitution to apply to hive
                                  commands. e.g. --hivevar A=B
 -i <filename>                    Initialization SQL file
 -S,--silent                      Silent mode in interactive shell
 -v,--verbose                     Verbose mode (echo executed SQL to the
                                  console)

参数解释说明

--database 选项表示指定要查询哪个数据库
-e 选项表示不进入hive的交互窗口中执行sql语句

例如:

sql 复制代码
[whybigdata@wbd01 hive-3.1.2]$ bin/hive -e "select id from student;"

-f 选项表示执行脚本文件中的sql语句

(1)首先在/export/server/hive-3.1.2/目录下(即Hive安装目录下)创建 datas 目录并在datas目录下创建 hivef.sql 文件

shell 复制代码
[whybigdata@wbd01 hive-3.1.2]$ mkdir datas
[whybigdata@wbd01 hive-3.1.2]$ cd datas
[whybigdata@wbd01 datas]$ touch hivef.sql

(2)在文件中写入正确的sql语句

shell 复制代码
select * from order_goods;

(3)执行指定文件中的sql语句

shell 复制代码
[whybigdata@wbd01 hive-3.1.2]$ bin/hive -f /export/server/hive-3.1.2/datas/hivef.sql

(4)执行文件中的sql语句并将结果写入文件中

shell 复制代码
[whybigdata@wbd01 hive-3.1.2]$ bin/hive -f /export/server/hive-3.1.2/datas/hivef.sql  > /export/server/datas/hive_result.txt

上面使用的是执行本地系统的脚本文件,我们也可以读取文件系统(如HDFS)的脚本并执行sql

sql 复制代码
[whybigdata@wbd01 hive-3.1.2]$ bin/hive -f hdfs://hadoop102:8020/hive-orders-script.sql

Hive其他命令

(1)退出hive窗口(hive模式):

sql 复制代码
hive(default)>exit;
hive(default)>quit;

注意:在新版的hive中没区别了,在以前的版本是有的:

  • exit:先隐性提交数据,再退出;
  • quit:不提交数据,退出;
  • beeline模式:!quit

(2)在hive cli命令窗口中如何查看hdfs文件系统

sql 复制代码
hive(default)>dfs -ls /;

(3)查看在hive中输入的所有历史命令

  • 进入到当前用户的根目录/root或/home/whybigdata
  • 查看. hivehistory文件
shell 复制代码
[whybigdata@wbd01 ~]$ cat .hivehistory

Hive常见属性配置

hive窗口打印默认库和表头

(1)打印 当前库表头

在hive-site.xml中加入如下两个配置:

xml 复制代码
<!-- hive窗口打印默认库和表头 -->
<property>
    <name>hive.cli.print.header</name>
    <value>true</value>
</property>
<property>
    <name>hive.cli.print.current.db</name>
    <value>true</value>
</property>

Hive运行日志信息配置

(1)Hive的log默认存放在/tmp/atguigu/hive.log目录下(当前用户名下)

(2)修改hive的log存放日志到/expoer/server/hive-3.1.2/logs

  • 修改/expoer/server/hive-3.1.2/conf/hive-log4j2.properties.template文件名称为 hive-log4j2.properties
shell 复制代码
[atguigu@hadoop102 conf]$ pwd
/expoer/server/hive-3.1.2/conf
[atguigu@hadoop102 conf]$ mv hive-log4j2.properties.template hive-log4j2.properties

(2)在hive-log4j.properties文件中修改log存放位置,此处将其存放在HIVE安装目录下的 logs目录

properties 复制代码
property.hive.log.dir=/expoer/server/hive-3.1.2/logs

参数配置方式

(1)查看当前所有的配置信息

sql 复制代码
hive>set;

(2)参数的配置三种方式

  • 配置文件方式
    • 默认配置文件:hive-default.xml
    • 用户自定义配置文件:hive-site.xml

注意:用户自定义配置会覆盖默认配置。另外,Hive也会读入Hadoop的配置,因为Hive是作为Hadoop的客户端启动的,Hive的配置会覆盖Hadoop的配置。配置文件的设定对本机启动的所有Hive进程都有效。

(2)命令行参数方式
启动Hive时,可以在命令行添加 -hiveconf param=value 来设定参数。

  • 例如:
shell 复制代码
[atguigu@hadoop103 hive-3.1.2]$ bin/hive -hiveconf mapred.reduce.tasks=10;

注意:仅对本次hive启动有效

  • 查看参数设置:
sql 复制代码
hive (default)> set mapred.reduce.tasks;

(3)参数声明方式

可以在HQL中使用SET关键字设定参数

  • 例如:
sql 复制代码
hive (default)> set mapred.reduce.tasks=100;

注意:仅对本次hive启动有效。

sql 复制代码
查看参数设置
hive (default)> set mapred.reduce.tasks;

总结:上述三种设定方式的优先级依次递增。即 配置文件<命令行参数<参数声明。注意某些系统级的参数,例如log4j相关的设定,必须用前两种方式设定,因为那些参数的读取在会话建立以前已经完成了。
全文结束!!!

相关推荐
字节跳动数据平台3 小时前
5000 字技术向拆解 | 火山引擎多模态数据湖如何释放模思智能的算法生产力
大数据
武子康8 小时前
大数据-239 离线数仓 - 广告业务实战:Flume 导入日志到 HDFS,并完成 Hive ODS/DWD 分层加载
大数据·后端·apache hive
字节跳动数据平台1 天前
代码量减少 70%、GPU 利用率达 95%:火山引擎多模态数据湖如何释放模思智能的算法生产力
大数据
得物技术1 天前
深入剖析Spark UI界面:参数与界面详解|得物技术
大数据·后端·spark
武子康1 天前
大数据-238 离线数仓 - 广告业务 Hive分析实战:ADS 点击率、购买率与 Top100 排名避坑
大数据·后端·apache hive
武子康2 天前
大数据-237 离线数仓 - Hive 广告业务实战:ODS→DWD 事件解析、广告明细与转化分析落地
大数据·后端·apache hive
大大大大晴天2 天前
Flink生产问题排障-Kryo serializer scala extensions are not available
大数据·flink
武子康4 天前
大数据-236 离线数仓 - 会员指标验证、DataX 导出与广告业务 ODS/DWD/ADS 全流程
大数据·后端·apache hive
武子康5 天前
大数据-235 离线数仓 - 实战:Flume+HDFS+Hive 搭建 ODS/DWD/DWS/ADS 会员分析链路
大数据·后端·apache hive
DianSan_ERP6 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet