Hive笔记之宏(macro)
一、啥是宏
宏可以看做是一个简短的函数,或者是对一个表达式取别名,同时可以将这个表达式中的一些值做成变量调用时传入,比较适合于做分析时为一些临时需要用到很多次的表达式操作封装一下取个简短点的别名来调用。宏只在当前会话有效,当退出hive控制台再进入时上次创建的宏就丢失了,如果需要永久保留某个宏,可以将其加入到${HIVE_HOME}/.hiverc文件中。
二、创建宏
创建宏的语法:
1 | CREATE TEMPORARY MACRO macro_name([col_name col_type, ...]) expression; |
一些例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | 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) |
三、删除宏
删除宏的语法:
1 | DROP TEMPORARY MACRO [IF EXISTS] macro_name; |
删除宏的例子:
1 2 3 4 5 6 | hive> DROP TEMPORARY MACRO foo; OK Time taken: 0.029 seconds hive> DROP TEMPORARY MACRO IF EXISTS foo; OK Time taken: 0.074 seconds |
相关资料:
.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构