Hive笔记之宏(macro)
一、啥是宏
宏可以看做是一个简短的函数,或者是对一个表达式取别名,同时可以将这个表达式中的一些值做成变量调用时传入,比较适合于做分析时为一些临时需要用到很多次的表达式操作封装一下取个简短点的别名来调用。宏只在当前会话有效,当退出hive控制台再进入时上次创建的宏就丢失了,如果需要永久保留某个宏,可以将其加入到${HIVE_HOME}/.hiverc文件中。
二、创建宏
创建宏的语法:
CREATE TEMPORARY MACRO macro_name([col_name col_type, ...]) expression;
一些例子:
hive> CREATE TEMPORARY MACRO fixed_number() 42;
OK
Time taken: 0.053 seconds
hive> SELECT fixed_number();
OK
42
Time taken: 0.339 seconds, Fetched: 1 row(s) hive> CREATE TEMPORARY MACRO string_len_plus_two(x string) length(x) + 2;
OK
Time taken: 0.106 seconds
hive> SELECT string_len_plus_two("foobar");
OK
8
Time taken: 0.533 seconds, Fetched: 1 row(s) hive> CREATE TEMPORARY MACRO simple_add (x int, y int) x + y;
OK
Time taken: 0.041 seconds
hive> SELECT simple_add(1, 1);
OK
2
Time taken: 0.403 seconds, Fetched: 1 row(s)
三、删除宏
删除宏的语法:
DROP TEMPORARY MACRO [IF EXISTS] macro_name;
删除宏的例子:
hive> DROP TEMPORARY MACRO foo;
OK
Time taken: 0.029 seconds
hive> DROP TEMPORARY MACRO IF EXISTS foo;
OK
Time taken: 0.074 seconds
相关资料:
.
Hive笔记之宏(macro)的更多相关文章
- flask第30篇——宏macro和import标签
宏是Jinja2特有的,像Django则没有这个. 先新建一个项目macroDemo: 然后在templates文件夹中新建index.html文件,并在代码中返回渲染后的文件: 然后回到index. ...
- Flask基础(15)-->模板代码的复用【宏(Macro)、继承(Block)、包含(include)】
宏 对宏(macro)的理解: 把它看作 Jinja2 中的一个函数,它会返回一个模板或者 HTML 字符串 为了避免反复地编写同样的模板代码,出现代码冗余,可以把他们写成函数以进行重用 需要在多处重 ...
- C语言的宏macro的使用
C's Macro Introduction 1.The Connect Macros: ## 这是一个预处理连接符,这个操作符主要用来将两个符号连接成为一个完整的宏符号.通过下面的代码,可以看到其具 ...
- [易学易懂系列|rustlang语言|零基础|快速入门|(22)|宏Macro]
[易学易懂系列|rustlang语言|零基础|快速入门|(22)|宏Macro] 实用知识 宏Macro 我们今天来讲讲Rust中强大的宏Macro. Rust的宏macro是实现元编程的强大工具. ...
- FreeMarker学习(宏<#macro>的使用)
原文链接:https://my.oschina.net/weiweiblog/blog/506301?p=1 用户定义指令-使用@符合来调用 有两种不同的类型:Macro(宏)和transform( ...
- Hive笔记--sql语法详解及JavaAPI
Hive SQL 语法详解:http://blog.csdn.net/hguisu/article/details/7256833Hive SQL 学习笔记(常用):http://blog.sina. ...
- scheme 宏macro写法
scheme里的宏不同的实现有不同的写法: 1.mzscheme的define-macro (mzscheme也就是pltschme,也就是drracket,没有define-macro这个关键字) ...
- word宏(macro) 之 注意事项,常见语法和学习地方
宏:计算机科学里的宏(Macro),是一种批量处理的称谓.一般说来,宏是一种规则或模式,或称语法替换 ,用于说明某一特定输入(通常是字符串)如何根据预定义的规则转换成对应的输出(通常也是字符串).这种 ...
- zabbix上的宏(macro)介绍
宏:macro,预设的文本替换模式: 宏是一种抽象概念(Abstraction),它根据一些列预定义的规则替换一定的文本模式,而解释或编译器在遇到宏时会自动进行这一模式替换.类似地,zabbix基于宏 ...
随机推荐
- python scipy stats学习笔记
from scipy.stats import chi2 # 卡方分布from scipy.stats import norm # 正态分布from scipy.stats import t # t分 ...
- android开发心得之知识的量变到质变
随着身边越来越多的人开始了尝试android开发,看着他们一点点学期 从nodepad++写代码 cmd 执行,到安装eclipse 和android SDK,仿佛看到了昨天的我一样,一样勤勤恳恳的学 ...
- 软件工程学习之小学四则混合运算出题软件 Version 1.00 设计思路及感想
对于小学四则混合运算出题软件的设计,通过分析设计要求,我觉得为了这个软件在今后便于功能上的扩充,可以利用上学期所学习的<编译原理>一课中的LL1语法分析及制导翻译的算法来实现.这样做的好处 ...
- 『编程题全队』alpha阶段项目复审
小组的名字和链接 优点 缺点,bug 报告 最终名次 Gakki赛高 (1)支持注册账号和账号管理(2) 支持自动登录,提供便捷性(3)题目不重复且题目答案准确(4)支持排行榜统计功能(5)自己设计算 ...
- [转帖]devops 容器管理平台 rancher 简介
https://testerhome.com/topics/10828 chenhengjie123 for PPmoney · 2017年11月13日 · 最后由 c19950809 回复于 201 ...
- Latex使用:在latex中添加算法模块
在Miktex下有三个latex algorithm包,分别为:algorithm,algorithmic,algorithm2e三个,其中algorithm,algorithmic经常成套使用: l ...
- SOA,SOAP,RPC,以及 RPC协议与 REST 协议之间的关系(搜狗)
web service顾名思义这是一种提供service的形式,而且只能通过http(web)来提供service(web service三要素:SOAP.WSDL(WebServicesDescri ...
- 一本通1669S-Nim
1669:S-Nim [输入样例] 2 2 5 3 2 5 12 3 2 4 7 4 2 3 7 12 5 1 2 3 4 5 3 2 5 12 3 2 4 7 4 2 3 7 12 0 [输出样例] ...
- AJAX 原生态
AJAX 原生态 原生态AJAX详解和jquery对AJAX的封装 A ...
- 【题解】 [ZJOI2006]书架 (Splay)
懒得复制,戳我戳我 Solution: 还是一个\(Splay\),我们只用多存一个值\(rad\)来维护二叉树,然后用数组存下每个书对应的值是多少 \(Top\)操作,我是把\(s\)旋转到根节点, ...