hive的变量与属性

本文介绍了Hive的变量命名空间,包括hivevar、hiveconfig、system和env,详细讲解了如何创建、修改变量,特别是hivevar的使用。此外,还提到了hiveconf配置属性的设定,以及system和env变量的特性。最后,分享了Hive中的常用命令,如执行语句、保存查询结果和属性名模糊查询。

hive变量的命名空间

1、hivevar:是用户自定义的变量
2、hiveconfig:hive相关的配置属性
3、system:Java定义的配置属性
以上三个变量都是可读可写的
4、env:shell环境定义的环境变量,只可读

*hive变量是使用Java字符串的方式存储的,所以使用的类型就是string

在CIL中使用查询语句时,如果其中有变量,会先将变量替换成变量的值,再把查询语句提交给查询处理器

对变量的操作

一、hivevar
这些变量是不能跨会话的。
1、创建变量
①在直接在CLI用:
在hive外部直接定义变量并赋值其中 hive --define key=value; 与 hive --hivevar key=value;是等价的。都是在hivevar变量空间中创建用户变量。

②在hive内创建变量:
在这里插入图片描述也可以在hive内这样创建。其中set命令可以创建,修改,查看变量。

2、修改变量
①使用set修改
在这里插入图片描述②外部修改
在这里插入图片描述
其中,命名空间前缀是可选的
在这里插入图片描述
二、hiveconf相关的
可以配置hive行为的所有属性
1、配置hive.cli.print.current.db属性,默认值为false,如果设置成true,则会在hive的命令提示符前打印出当前的数据库名,默认是default。
在这里插入图片描述2、定义成普通变量,使用和hivevar的一样
在这里插入图片描述在这里插入图片描述三、system和env
system的变量是Java定义的配置属性,env是shell环境定义的;它和env在使用时,前面必须加system:或env: 这和hivevar不同
在这里插入图片描述可以清晰的看出,system是可读可写;而env是只可读的。

在这里插入图片描述在这里插入图片描述system和env变量用户都不能自定义。因为他们都不是用户定义的。

hive中的常用命令

1、hive -e “需要执行的语句”
在这里插入图片描述可以将查询结果保存到一个文件中:这种方法会将输出重定到本地系统中,而不是在hdfs中了。
在这里插入图片描述在这里插入图片描述2、hive -e “需要执行的命令” | grep 属性名相关的信息
当记不清属性名时可以这样模糊查询
在这里插入图片描述其中-S是开始静默模式,去除输出的而无关信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值