Hive笔记之宏(macro)

 

1、啥是宏

宏能够看作是一个简短的函数,或者是对一个表达式取别名,同时能够将这个表达式中的一些值作成变量调用时传入,比较适合于作分析时为一些临时须要用到不少次的表达式操做封装一下取个简短点的别名来调用。宏只在当前会话有效,当退出hive控制台再进入时上次建立的宏就丢失了,若是须要永久保留某个宏,能够将其加入到${HIVE_HOME}/.hiverc文件中。html

 

2、建立宏

建立宏的语法:sql

CREATE TEMPORARY MACRO macro_name([col_name col_type, ...]) expression;

一些例子:express

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)

3、删除宏

删除宏的语法:apache

DROP TEMPORARY MACRO [IF EXISTS] macro_name;

删除宏的例子:segmentfault

hive> DROP TEMPORARY MACRO foo;
OK
Time taken: 0.029 seconds
hive> DROP TEMPORARY MACRO IF EXISTS foo;
OK
Time taken: 0.074 seconds

 

相关资料:函数

1. Create Temporary Macrohtm

2. Hive中常被忽视的利器——宏ip

 

.get

相关文章
相关标签/搜索