UDF是User-Defined Functions(用户定义函数)的简称。

通过以下命令可以查看HIVE中函数的相关文档:SHOW FUNCTIONS;

DESCRIBE FUNCTION ;

DESCRIBE FUNCTION EXTENDED ;

1、UDF函数可以直接应用于select语句,对查询结构做格式化处理后,再输出内容。

2、编写UDF函数的时候需要注意一下几点:

a)自定义UDF需要继承org.apache.hadoop.hive.ql.UDF。

b)需要实现evaluate函数,evaluate函数支持重载。

4、步骤

a)把程序打包放到目标机器上去;

b)进入hive客户端,添加jar包:hive>add jar /run/jar/udf_test.jar;

c)创建临时函数:hive>CREATE TEMPORARY FUNCTION add_example AS 'hive.udf.Add';

d)查询HQL语句:SELECT add_example(8, 9) FROM scores;

SELECT add_example(scores.math, scores.art) FROM scores;

SELECT add_example(6, 7, 8, 6.8) FROM scores;

e)销毁临时函数:hive> DROP TEMPORARY FUNCTION add_example;

注:UDF只能实现一进一出的操作,如果需要实现多进一出,则需要实现UDAF

官方教程:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF

hive java udf_UDF_Hive教程_田守枝Java技术博客相关推荐

  1. java jta_JTA规范_分布式事务教程_田守枝Java技术博客

    JTA规范事务模型 Java事务API(JTA:Java Transaction API)和它的同胞Java事务服务(JTS:Java Transaction Service),为J2EE平台提供了分 ...

  2. java毕业设计项目_第167期ssm多用户博客个人网站_计算机毕业设计

    java毕业设计项目_第167期ssm多用户博客个人网站_计算机毕业设计 [源码请到资源专栏下载] 今天分享的项目是<ssm多用户博客个人网站> 该项目分为2个角色,管理员和用户. 用户可 ...

  3. java akka 教程_快速入门 Akka Java 指南

    快速入门 Akka Java 指南 Akka 是一个用于在 JVM 上构建高并发.分布式和容错的事件驱动应用程序的运行时工具包.Akka 既可以用于 Java,也可以用于 Scala.本指南通过描述 ...

  4. zblog php建站教程_开源建站程序ZBlogPHP博客安装图文教程

    ZBlogPHP是由PHP语言开发的开源博客程序.虽然,zblog也有asp版本的,但是目前以及今后趋势使用php版本才是主流,其程序大小也只有2.3M左右!而我们今天讲解的也是php版本的zblog ...

  5. java 雷达反射面积_毫米波雷达 - Magnum Programm Life - 博客园

    微波是通信和雷达使用的主要频段, 300Mhz ~ 300GHz.  毫米波是微波的一个子频段. 可见光,红外,激光, 由于频率不同和微波的特性有很大差异. 不同频段的电磁波在 "反射, 吸 ...

  6. java 级联删除_级联删除 - Asher鑫与 - 博客园

    相信学过数据库基础的童鞋们都知道,当有两个表A和B,表A的外键正是表B的主键时,我们会发现,当我们用数据库语言对B表数据进行删除操作的时候,我们会发现根本就删除不了,所以呢,在实际代码中,想要通过点击 ...

  7. java锚点_定位与锚点 - strongerPian - 博客园

    文档流: 普通流:上至下,左至右 浮动流:元素添加了float:: 定位流:添加了定位属性 定位 position:; static 默认值 absolute 绝对定位(脱离文档流,不占位:默认参考浏 ...

  8. 技术文档的撰写_如何撰写出色的技术博客文章

    技术文档的撰写 从创意到完美结果的五个步骤 (Five steps to get from idea to polished result) I've been working in the open ...

  9. linux给文件夹腹权限,文件的权限_腹有诗书气自华的技术博客_51CTO博客

    1.文件与目录属性 # ls -l filename###文件属性查看 -rwxr-xr-x.2rootroot     6Oct  2 09:42file 第一列:文件类型和文件权限 如果这一位上有 ...

最新文章

  1. 资源|最好的九张机器学习/深度学习代码速查表,附高清下载
  2. Spring4MVC 请求参数映射和Content-type
  3. 正交相机下实现滚轮按钮拖动,滚动滚轮缩放的功能
  4. 【Android 应用开发】Android开发 使用 adb logcat 显示 Android 日志
  5. wxss 点击样式_微信小程序点击控件修改样式实例详解
  6. 用C#在STM32上写第一个Hello world
  7. Linux kernel 同步机制(下篇)
  8. LeetCode 919. 完全二叉树插入器(层序遍历队列)
  9. base64码通过http传输 +号变 空格 以及 图片编码后字符串较长导致POST提交失败 问题解决...
  10. boost安装_Boost编译与使用
  11. java插件已崩溃怎么处理_java.lang.IllegalArgumentException:插件已初始化
  12. 微师电脑客户端 附使用教程
  13. Python数据分析通关,30个案例!
  14. 关于认知(高效能人士的七个习惯,刻意练习,PDCA,GTD)
  15. selenium爬取裁判文书网
  16. 关于光的波粒二象性的解释--答复年少时的疑惑
  17. pod 文件管理服务器,k8s中pod的状态管理
  18. linux系统下网络吞吐量/CPU占用率/流量控制的测试
  19. 墨刀和axure的区别
  20. LogLoss的公式演化

热门文章

  1. .net mysql查询数据库连接_asp.net连接查询SQL数据库并把结果显示在网页上(2种方法)...
  2. 字典排序什么意思_字典排序问题
  3. 计算机网络画出发送窗口变化,全国2010年7月自考计算机网络原理试题及答案
  4. autojs 云控_autojs websocket 核心示例代码,云控技术
  5. oracle数据库连接名是什么,连接到Oracle数据库的几种命名方式
  6. innobackup备份恢复实操步骤--gtid复制(1)(1)
  7. Linux Shell获取系统资源使用百分比(CentOS)
  8. ubuntu14.04下安装cudnn5.1.3,opencv3.0,编译caffe及配置matlab和python接口过程记录
  9. Ruby file操作cheatsheet
  10. 2月第3周国内域名商TOP10:爱名网排名升至第八