Hive 客户端命令
# Hive 客户端命令
Hive**** 中变量和属性命名空间
| 命令空间 | 使用权限 | 描述 |
|---|---|---|
| hivevar | 可读 / 可写 | (hive v0.80 以及之后的版本)用户自定义变量 |
| hiveconf | 可读 / 可写 | Hive 相关的配置属性 |
| system | 可读 / 可写 | Java 定义的配置环境 |
| env | 只可读 | Shell 环境定义的环境变量 |
- --define key=value 实际上和 --hivevar key=value 是等价的
hive --define foo=bar #在shell命令行的根目录下输入,进入hive的cli命令行,并且定义了一个变量
set foo; #查看foo变量值
set hivevar:foo; #查询指定空间变量下的信息
set hivevar:foo=bar2; #查询赋值
create table toss1(i int,${hivevar:foo} string); #创建表时也可引用变量
1
2
3
4
5
2
3
4
5
- hiveconf 用于配置 Hive 行为的所有属性
hive --hiveconf hive.cli.print.current.db=true #通过hiveconf将指定属性赋值
set hive.cli.print.current.db; #查询属性值
hive --hiveconf y=5
set y; #查询值
SELECT * FROM whatsit WHERE i=${hiveconf:y}; #语句中也可以使用属性
1
2
3
4
5
2
3
4
5
- -e 执行一个或者多个查询(使用分号分隔),执行结束后 hive CLI 立即退出
hive -e "SELECT * FROM my_table" #查询后退出hive
1
- -S -e 增加 - S 选项可以开启静默模式,这样可以在输出结果中去掉 “OK” 和 “Time taken…” 等行,以及其他一些无关紧要的输出信息 只输出结果
hive -S -e "SELECT * FROM my_table LIMIT 3" >/usr/tmp/my_table_3.txt #只输出结果 并写入到指定文件中
1
- 在客户端外 文件中执行 sql
vim /usr/hive/hive/withqueries.hql #新建文件里面存放sql语句
SELECT * FROM my_table;
1
2
2
hive -f /usr/hive/hive/withqueries.hql #启动hive时 加载指定文件中的sql语句
1
- 在 hive 客户端 执行指定的 sql 文件
source /usr/hive/hive/withqueries.hql;
1
- -i 通过文件中 sql 语句 批量设置值
vim /usr/hive/hive/.hiverc
set hive.cli.print.current.db=true;
set hive.exec.mode.local.auto=true;
1
2
3
4
2
3
4
hive -i /usr/hive/hive/.hiverc #加载指定文件的设定
1
编辑 (opens new window)
上次更新: 2023/12/06, 01:31:48