Hive【非交互式使用、三种参数配置方式】

前言

今天开始学习 Hive,因为毕竟但凡做个项目基本就避不开用 Hive ,争取这学期结束前做个小点的项目。

第一篇博客内容还是比较少的,环境的搭建配置太琐碎没有写。

Hive 常用使用技巧

交互式使用

就是我们正常的进入 hive 命令行下的使用模式。

非交互式使用

所谓非交互式,也就是不需要进入 hive 命令行,直接在我们 linux Shell 命令行中执行。

hive -e

bash 复制代码
# 一段带字符串的 SQL 
-e <quoted-query-string>    SQL from command line

案例:

bash 复制代码
[lyh@hadoop102 hive-3.1.2]$ hive -e "insert into stu values(2,'lyh')"

hive -f

bash 复制代码
# 执行文件中的所有 SQL
-f <filename>    SQL from filename

案例:

将要执行的sql写入一个文件:

bash 复制代码
vim stu.sql
#写如以下sql 用分号隔开
insert into stu values(3,"ls");
select * from stu;

执行:

bash 复制代码
[lyh@hadoop102 ~]$ hive -f stu.sql 

Hive 参数配置方式

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

bash 复制代码
hive> set;

(2)查看某个参数的配置信息

bash 复制代码
# 查看reduce开启的数量
hive(default)>set mapreduce.job.reduces;

(3)设置参数

1. hive-site.xml

这种设置参数的方式全局永久生效。

2. 命令行参数

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

这种设置参数的方式全局仅对本次 Hive 启动生效。

bash 复制代码
# 设置一个作业中reduce开启的数量
[lyh@hadoop102 hive-3.1.2]$ hive -hiveconf mapreduce.job.reduces=10;

3.参数声明方式

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

bash 复制代码
hive(default)> set mapreduce.job.reduces=10;

同样,仅对本次Hive 启动生效。

查看参数设置:

bash 复制代码
hive(default)> set mapreduce.job.reduces;

总结

上面三种参数设置方式的优先级为 hive-site.xml < 命令行参数 < 参数声明 。除了某些系统级的参数,比如 log4j 相关的设置,必须使用前两种设置方式,因为那些参数的读取已经在会话建立前已经完成了。

相关推荐
十月南城1 小时前
Hive与离线数仓方法论——分层建模、分区与桶的取舍与查询代价
数据仓库·hive·hadoop
鹏说大数据3 小时前
Spark 和 Hive 的关系与区别
大数据·hive·spark
B站计算机毕业设计超人3 小时前
计算机毕业设计Hadoop+Spark+Hive招聘推荐系统 招聘大数据分析 大数据毕业设计(源码+文档+PPT+ 讲解)
大数据·hive·hadoop·python·spark·毕业设计·课程设计
B站计算机毕业设计超人3 小时前
计算机毕业设计hadoop+spark+hive交通拥堵预测 交通流量预测 智慧城市交通大数据 交通客流量分析(源码+LW文档+PPT+讲解视频)
大数据·hive·hadoop·python·spark·毕业设计·课程设计
AI架构师小马3 小时前
Hive调优手册:从入门到精通的完整指南
数据仓库·hive·hadoop·ai
数据架构师的AI之路3 小时前
深入了解大数据领域Hive的HQL语言特性
大数据·hive·hadoop·ai
Gain_chance4 小时前
33-学习笔记尚硅谷数仓搭建-DWS层交易域用户粒度订单表分析及设计代码
数据库·数据仓库·hive·笔记·学习·datagrip
十月南城6 小时前
Hadoop基础认知——HDFS、YARN、MapReduce在现代体系中的位置与价值
hadoop·hdfs·mapreduce
蓝眸少年CY8 小时前
Hadoop2-HDFS文件系统
大数据·hadoop·hdfs