Hive 中的变量
Hive的变量前面有一个命名空间,包括三个hiveconf,system,env,还有一个hivevar
- hiveconf的命名空间指的是hive-site.xml下面的配置变量值。
- system的命名空间是系统的变量,包括JVM的运行环境。
- env的命名空间,是指环境变量,包括Shell环境下的变量信息,如HADOOP_HOME之类的
实例:
set mapreduce.job.split.metainfo.maxsize=-1;
set hive.exec.parallel=true;
set day='2018-08-30';
set window_day=50 select
*
from
table_name
where
dt >= date_sub(${hiveconf:day}, ${hiveconf:window_day})
and dt <= ${hiveconf:day}
| 命名空间 | 使用权限 | 详细描述 |
| hivevar | rw | 用户自定义变量 |
| hiveconf | rw | hive相关配置属性 |
| system | rw | java定义的配置属性 |
| env | r | Shell环境属性 |
通常我们可以使用hive -e查看有关hivevar与hiveconf的描述:
2、hivevar与hiveconf的作用域
之前项目中涉及两个hive作业同时执行并需要传入相同key的参数,因此顾虑不清楚是否是线程安全。
结论先行:hivevar与hiveconf作用域都是会话级别的,言外之意就是如果两个并发同时跑的作业同时传入一个相同key但是value不相同的值的参数,不会发生线程安全问题。
3、对于hivevar与hiveconf的使用
hiveconf变量取值必须要使用hiveconf作为前缀参数,具体格式如下:
${hiveconf:key}
但是对于hivevar取值可以不使用前缀hivevar,具体格式如下:
使用前缀:
${hivevar:key}
不使用前缀:
${key}
Hive 中的变量的更多相关文章
- 向Hive中传入变量的方式
Hive向程序中传递变量的方式 暴力替换 字符串替换 正则替换 模板引擎 系统环境变量 shell环境变量:${env:varname} system系统变量:${system:varname} hi ...
- Hive开发中使用变量的两种方法
在使用hive开发数据分析代码时,经常会遇到需要改变运行参数的情况,比如select语句中对日期字段值的设定,可能不同时间想要看不同日期的数据,这就需要能动态改变日期的值.如果开发量较大.参数多的话, ...
- Hive中变量的使用
1.Hive配置属性 (1)命令行方式 Hive配置属性存储于 hiveconf 命名空间中,该命名空间中的属性是可读写的.在查询语句中插入 '${hiveconf:变量名}',就可以通过 hive ...
- mysql分组排序取最大值所在行,类似hive中row_number() over partition by
如下图, 计划实现 :按照 parent_code 分组, 取组中code最大值所在的整条记录,如红色部分.(类似hive中: row_number() over(partition by)) sel ...
- 关于sparksql操作hive,读取本地csv文件并以parquet的形式装入hive中
说明:spark版本:2.2.0 hive版本:1.2.1 需求: 有本地csv格式的一个文件,格式为${当天日期}visit.txt,例如20180707visit.txt,现在需要将其通过spar ...
- 漫谈数据仓库之拉链表(原理、设计以及在Hive中的实现)
本文将会谈一谈在数据仓库中拉链表相关的内容,包括它的原理.设计.以及在我们大数据场景下的实现方式. 全文由下面几个部分组成: 先分享一下拉链表的用途.什么是拉链表. 通过一些小的使用场景来对拉链表做近 ...
- Hive学习笔记——Hive中的分桶
对于每一个表(table)或者分区, Hive可以进一步组织成桶,也就是说桶是更为细粒度的数据范围划分.Hive也是针对某一列进行桶的组织.Hive采用对列值哈希,然后除以桶的个数求余的方式决定该条记 ...
- Hive中使用LZO
hive 中使用lzo 1 启动hive 错误Exception in thread "main" java.lang.NoClassDefFoundError: org/apac ...
- Hive中的集合数据类型
除了使用础的数据类型string等,Hive中的列支持使用struct, map, array集合数据类型. 数据类型 描述 语法示例 STRUCT 和C语言中的struct或者"对象&qu ...
随机推荐
- 实施CMMI3的体会
公司从去年年底开始实施CMMI3,记得当初上培训课的时候,听着老师介绍过程管理,项目管理,工程过程,支持过程这四大类过程域的时候,全部门上下听得稀里糊涂,从未想到这个鬼东西还这么复杂,这么麻烦. 公司 ...
- Source Insight 源代码查看工具
在开发的过程中,有时候我们需要研究源代码,查看源码是一个好的习惯,能帮我们学到很多的东西,比如JDK可以帮助我们理解很多设计模式在实际开发中的应用,又或者android开发者,源代码更是必不可少的,当 ...
- JAVA加密算法(DSA)
DSA DSA-Digital Signature Algorithm 是Schnorr和ElGamal签名算法的变种,被美国NIST作为DSS(DigitalSignature Standard). ...
- [Linux] du-查看文件夹大小-并按大小进行排序
reference : http://blog.csdn.net/jiaobuchong/article/details/50272761# 某天,我想检查一下电脑硬盘的的使用情况,作为一个命令控,废 ...
- Orchard运用 - 网站样例
在此分享一些个人觉得比较不错的基于Orhcard搭建的网站. 中文版: http://www.58img.com/ http://www.weijiqiong.com/ http://www.apma ...
- kvm安装windows系统
1.创建虚拟机镜像文件并指定大小(10G) [root@centos01 ~]# qemu-img create -f raw /opt/windows20031.raw 10G Formatting ...
- qt study 泛型和容器
所谓泛型(generic) 能够像操作基本类型一样轻松操作对象的类和函数. qt容器类就是泛型类,基于模板的泛型类. 重载运算符overloaed operator, 托管容器 managed con ...
- DNS named.conf文件详解
配置文件: /etc/named.conf /在NAMED.CONF 配置文件中使用//和/* */来进行注释, options { /*OPTIONS选项用来定义一些影响整个DNS服 ...
- 使用微软提供的Office Online实现Office文档的在线查看,编辑等功能
使用微软提供的Office Online平台只需要一个网址即可在线查看Xls,doc,PPT等文档 http://view.officeapps.live.com/op/view.aspx?src=要 ...
- Inside GDALAllRegister之三: 注册指定驱动
现在来仔细分析如何注册一个驱动的代码,看下面代码: #ifdef FRMT_vrt GDALRegister_VRT(); #endif 编译时指定或者取消FRMT_vrt,可以控制这条语句是否编译到 ...