• 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

    相关资料:

    1. Create Temporary Macro

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

    .

  • 相关阅读:
    POJ 1182 食物链
    HDU 1385 Minimum Transport Cost
    HDU_2544 最短路
    HDU 2066 一个人的旅行
    poj3090
    poj3157
    poj3169
    poj3125
    poj3187
    VMware Workstation 8的简明使用教程
  • 原文地址:https://www.cnblogs.com/cc11001100/p/10232531.html
Copyright © 2020-2023  润新知