实战 - Hive中使用变量(环境变量、命令行变量、Hive 配置属性)
2017-06-02 11:17
531 查看
在Hive命令行工具中,可以使用系统环境变量、Hive配置文件中定义的属性以及Hive命令行工具中定义的变量。通过 set 命令,可以访问变量和修改变量的值。不同的变量,存储在不同的命名空间中。通过命名空间可以访问到变量。
系统环境变量,存储于 evn 命名空间中,该命名空间中的变量是 只读的;
Hive配置属性,存储于 hiveconf 命名空间中,该命名空间中的属性是 可读写的;
Hive命令行变量,存储于 hivevar 命名空间中,该命名空间中的变量是 可读写的;
Java系统属性,存储于 system 命名空间中,该命名空间中的变量是 可读写的。
4000
系统环境变量,存储于 evn 命名空间中,该命名空间中的变量是 只读的;
Hive配置属性,存储于 hiveconf 命名空间中,该命名空间中的属性是 可读写的;
Hive命令行变量,存储于 hivevar 命名空间中,该命名空间中的变量是 可读写的;
Java系统属性,存储于 system 命名空间中,该命名空间中的变量是 可读写的。
系统环境变量
在Hive命令行工具中访问系统环境变量,只能读取变量,通过 env:变量名 来访问变量,命名空间不能省略:hive> set env:HOME; env:HOME=/root
Hive 配置属性
在 Hive 命令行工具中,可以新增、修改、读取 Hive 配置属性。 通过 hiveconf:变量名 来定义和访问变量,hivevar 命名空间可以省略:hive> set hive.cli.print.current.db; #该配置属性用于显示hive当前所在的数据库。 hive.cli.print.current.db=false hive> set hive.cli.print.current.db=true; hive (default)> #hive默认的数据库为 default。
Hive 命令行变量
在 Hive 命令行工具中可以新增、修改、读取自定义变量,通过 hivevar:变量名 来定义和访问变量,hivevar 命名空间可以省略:4000
自定义变量及赋值
hive> set hivevar:testvar; hivevar:testvar=test hive> set testvar; #忽略 hivevar 命名空间; testvar=test
在 HQL 中使用自定义变量
在 Hive 命令行工具中执行 Hive 的 SQL 语句时,如果 SQL 语句中包含有变量,hive 会先将变量替换成变量值,然后再执行 SQL 语句。hive> CREATE TABLE test (id int,${testvar} string); #变量testvar=test OK Time taken: 4.886 seconds hive> describe test; #查看表结构 OK id int test string Time taken: 0.808 seconds, Fetched: 2 row(s) hive> DROP TABLE test; #删除表 Moved: 'hdfs://TesthpCluster/user/hive/warehouse/test' to trash at: hdfs://TesthpCluster/user/root/.Trash/Current OK Time taken: 1.436 seconds
Java 系统属性
在 Hive 命令行工具中可以新增、修改、读取 Java 系统属性。通过 system:变量名 来访问变量,命名空间不能省略:hive (default)> set system:user.name; system:user.name=root
相关文章推荐
- Mac 下配置环境变量造成命令行命令无法使用的解决方法
- Mac 下配置环境变量造成命令行命令无法使用的解决方法
- Linux上安装配置使用Tomcat说明文档和JDK环境变量配置
- 把php.exe加入系统环境变量-使用命令行可快速执行PHP命令
- 命令行快速进阶(四)使用环境变量
- 如何用JMF编写MP3音乐播放器1——(图文)如何使用JMF及其环境变量的配置
- 使用jdk时环境变量的配置~!
- Linux上安装配置使用Tomcat说明文档和JDK环境变量配置
- Java基础-环境变量设置及Java命令行使用
- shell配置,选择,环境变量修改(ORACLE_HOME,ORACLE_SID),无法使用sqlplus
- windows xp下配置JDK环境变量(附:第一个例子程序,命令行下和eclipse下)
- java里 使用apache-ant和cobertura测试代码覆盖率 环境变量配置
- 惊艳的cygwin——Windows下的Linux命令行环境的配置和使用
- java环境变量配置, 命令行命令
- linux共享库位置配置(LD_LIBRARY_PATH环境变量 或者 更改/etc/ld.so.conf 或者 使用-R选项)
- linux共享库位置配置(LD_LIBRARY_PATH环境变量 或者 更改/etc/ld.so.conf 或者 使用-R选项)
- 配置多个tomact同时使用时的catalina环境变量问题
- Maven3实战笔记环境配置与使用入门(一)
- 惊艳的cygwin——Windows下的Linux命令行环境的配置和使用
- 配置好derby的环境变量后怎么在eclipse中使用derby插件来操作和管理相关的derby数据库