前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据-Hive内置函数与自定义函数

大数据-Hive内置函数与自定义函数

作者头像
cwl_java
发布2019-12-26 16:04:07
8260
发布2019-12-26 16:04:07
举报
文章被收录于专栏:cwl_Javacwl_Java

3. Hive 函数

3.1. 内置函数

内容较多,见《Hive官方文档》 官方文档

  1. 查看系统自带的函数
代码语言:javascript
复制
hive> show functions; 
  1. 显示自带的函数的用法
代码语言:javascript
复制
hive> desc function upper; 
  1. 详细显示自带的函数的用法
代码语言:javascript
复制
hive> desc function extended upper;
  1. 常用内置函数
代码语言:javascript
复制
# 字符串连接函数: 
concat <p class="mume-header " id="字符串连接函数-concat"></p> select concat('abc','def’,'gh'); 
# 带分隔符字符串连接函数: 
concat_ws <p class="mume-header " id="带分隔符字符串连接函数-concat_ws"></p> 
select concat_ws(',','abc','def','gh'); 
# cast类型转换 <p class="mume-header " id="cast类型转换"></p> 
select cast(1.5 as int); 
# get_json_object(json 解析函数,用来处理json,必须是json格式) 
<p class="mume-header " id="get_json_objectjson-解析函数用来处理json必须是json格式"></p> 
select get_json_object('{"name":"jack","age":"20"}','$.name'); 
# URL解析函数 <p class="mume-header " id="url解析函数"></p> select parse_url('http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1', 'HOST'); 
# explode:把map集合中每个键值对或数组中的每个元素都单独生成一行的形式 
<p class="mume-header " id="explode把map集合中每个键值对或数组中的每个元素都单独生成一行的形式"></p>

3.2. 自定义函数

  1. Hive 自带了一些函数,比如:max/min等,但是数量有限,自己可以通过自定义UDF来方便的扩展。
  2. 当Hive提供的内置函数无法满足你的业务处理需要时,此时就可以考虑使用用户自定义函数(UDF:user-defined function)。
  3. 根据用户自定义函数类别分为以下三种:upper -->my_upper 3.1. UDF(User-Defined-Function) 一进一出 3.2. UDAF(User-Defined Aggregation Function) 聚集函数,多进一出 类似于: count / max / min 3.3. UDTF(User-Defined Table-Generating Functions) 一进多出 如 lateral view explore()
  4. 官方文档
  5. 编程步骤: 5.1 继承org.apache.hadoop.hive.ql.UDF 5.2. 需要实现evaluate函数;evaluate函数支持重载;
  6. 注意事项 6.1 UDF必须要有返回类型,可以返回null,但是返回类型不能为void; 6.2. UDF中常用Text/LongWritable等类型,不推荐使用java类型;
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 3. Hive 函数
    • 3.1. 内置函数
      • 3.2. 自定义函数
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档