美文网首页hive Python shell大数据
在hive查询中使用变量

在hive查询中使用变量

作者: 赤兔在云端 | 来源:发表于2018-03-08 10:22 被阅读0次
1.Hive配置属性

Hive配置属性存储于 hiveconf 命名空间中,该命名空间中的属性是可读写的。在查询语句中插入 '${hiveconf:变量名}',就可以通过 hive -hiveconf来替换变量。例如,查询语句和执行方式如下:

[root]$cat test.sql    #查看该文件
SELECT * FROM ${hiveconf:tablename}
limit ${hiveconf:var_rows};
[root]$hive -hiveconf tablename='t1' -hiveconf var_rows=10 -f test.sql

需要注意的是:

  • 如果有多个变量,每个变量前都要有参数 -hiveconf
  • 变量赋值等号左右不能有空格(例如var_rows=10不能有空格)
2.Hive命令行变量

Hive命令行变量,存储于 hivevar 命名空间中,该命名空间中的变量是可读写的。使用方式和hive配置属性类似,只是在查询语句中插入的是'${hivecar:变量名}',其中命名空间"hivecar:"可以省略。例如:

[root]$cat test.sql 
SELECT * FROM ${hivevar:tablename}  #等同于${tablename}
limit ${hiveconf:var_rows};
[root]$hive -hivevar tablename='t1' -hiveconf var_rows=10 -f test.sql

因为命令行变量的命名空间是唯一可以省略的,因此:

  • ${hivevar:变量名}等价于${变量名}
  • 除了用hive -hivevar 变量赋值,还可以用hive -d,d是define的简写,例如下面三个执行方式是一样的:
[root]$hive -hivevar tablename='t1' -hiveconf var_rows=10 -f test.sql
[root]$hive -define tablename='t1' -hiveconf var_rows=10 -f test.sql
[root]$hive -d tablename='t1' -hiveconf var_rows=10 -f test.sql

其他替换变量的方法:
利用shell脚本设置hive查询语句中的变量
利用Python替换Hive查询语句中的变量

相关文章

  • 在hive查询中使用变量

    1.Hive配置属性 Hive配置属性存储于 hiveconf 命名空间中,该命名空间中的属性是可读写的。在查询语...

  • Hive进阶

    hive配置,命令 hive查询显示列名 hive默认分隔符 \001 hive命令行中查看当前hive环境变量 ...

  • 利用shell脚本设置hive查询语句中的变量

    在shell脚本中设置的变量,可以通过hive -e直接使用,例如: 方法总结为: 在shell脚本中添加变量 使...

  • Hive优化

    Hive优化 今天的主要内容——Hive优化 Fetch抓取Hive 中对某些情况的查询可以不必使用 MapRed...

  • hiveserver2-CDH版本客户端使用

    一、简介 学习和实践Hive中,使用的都是CLI或者hive –e的方式,该方式仅允许使用HiveQL执行查询、更...

  • Hive调优

    Fetch抓取(Hive可以避免进行MapReduce)Hive中对某些情况的查询可以不必使用MapReduce计...

  • Hive调优

    10.hive调优 10.1 Fetch抓取 Hive中对某些情况的查询可以不必使用MapReduce计算。例如:...

  • 51cto赵强HADOOP学习(十六)hive的数据查询

    简单查询 查询的语法 过滤和排序 在查询中使用过滤 在查询中使用排序 Hive的表连接 等值连接 不等值连接 外连...

  • python3 windows使用pyhive连接Hive

    背景:工作需要,使用 python 操作 hive sql 查询数据使用。目标:使用pyhive连接上hive,并...

  • Hive简介

    1. Hive提供了一个被称为hive查询语言的的SQL方言,来查询存储在Hadoop集群中的数据。 Hive可以...

网友评论

    本文标题:在hive查询中使用变量

    本文链接:https://www.haomeiwen.com/subject/lknjfftx.html