HIVE: UDF应用实例
数据文件内容
TEST DATA HERE
Good to Go
我们准备写一个函数,把所有字符变为小写.
1.开发UDF
package MyTestPackage;
import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.io.Text; public class ToLowerCase extends UDF
{
public Text evaluate(final Text s)
{
return new Text(s.toString().toLowerCase());
} }
2.打包为MyUDF.jar
3.hive> add jar /home/work/MyUDF.jar;
4.hive> create temporary function mytest as 'MyTestPackage.ToLowerCase';
5.hive> show functions;
aaarticlea/png;base64,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" alt="" />
已经加好了
6.HQL中使用-
aaarticlea/png;base64,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" alt="" />
HIVE: UDF应用实例的更多相关文章
- 2、Hive UDF编程实例
Hive的UDF包括3种:UDF(User-Defined Function).UDAF(User-Defined Aggregate Function)和UDTF(User-Defined Tabl ...
- HIVE udf实例
本例中udf来自<hive编程指南>其中13章自定义函数中一个例子. 按照步骤,第一步,建立一个项目,创建 GenericUDFNvl 类. /** * 不能接受第一个参数为null的情况 ...
- Hive UDF初探
1. 引言 在前一篇中,解决了Hive表中复杂数据结构平铺化以导入Kylin的问题,但是平铺之后计算广告日志的曝光PV是翻倍的,因为一个用户对应于多个标签.所以,为了计算曝光PV,我们得另外创建视图. ...
- Hive UDF 实验1
项目中使用的hive版本低于0.11,无法使用hive在0.11中新加的开窗分析函数. 在项目中需要使用到row_number()函数的地方,有人写了udf来实现这个功能. new java proj ...
- hive UDF添加方式
hive UDF添加的方式 1.添加临时函数,只能在此会话中生效,退出hive自动失效 hive> add jar /home/jtdata/hiveUDF/out0.jar; Added [/ ...
- DeveloperGuide Hive UDF
Creating Custom UDFs First, you need to create a new class that extends UDF, with one or more method ...
- [转]HIVE UDF/UDAF/UDTF的Map Reduce代码框架模板
FROM : http://hugh-wangp.iteye.com/blog/1472371 自己写代码时候的利用到的模板 UDF步骤: 1.必须继承org.apache.hadoop.hive ...
- Hive(六)hive执行过程实例分析与hive优化策略
一.Hive 执行过程实例分析 1.join 对于 join 操作:SELECT pv.pageid, u.age FROM page_view pv JOIN user u ON (pv.useri ...
- Hive UDF 用户自定义函数 编程及使用
首先创建工程编写UDF 代码,示例如下: 1. 新建Maven项目 udf 本机Hadoop版本为2.7.7, Hive版本为1.2.2,所以选择对应版本的jar ,其它版本也不影响编译. 2. po ...
随机推荐
- VS 2008 创建MFC程序对话框的步骤
用过不少编程语言,可是刚开始学的时候最容易忘记一些简单的流程或者生疏了.那么这里就说说VS 2008 创建MFC程序对话框的步骤.我主要是android开发方面的.平时使用jni调用不少c++代码.所 ...
- Leetcode 326 Power of Three 数论
判断一个数是否是3的n次幂 这里我用了一点巧,所有的int范围的3的n次幂是int范围最大的3的n次幂数(即3^((int)log3(MAXINT)) = 1162261467)的约数 这种方法是我 ...
- 添加数据源,管理工具--数据源(ODBC),点击添加不显示该驱动
win7系统下或者64位系统下,安装完mysql-connector-odbc驱动后,直接进入:管理工具--数据源(ODBC),点击添加不显示该ODBC驱动 问题解决如下: C:\Users\Admi ...
- 通过MSSQL连接服务器连接至Oracle数据库
前言 有很多时候,我们需要MSSQL与Oracle进行跨库查询或数据交互.本篇随笔将阐述如何通过MSSQL的连接服务器连接至Oracle数据库,并且读取数据的示例. 具体步骤 首先需要到Oracle的 ...
- ArrayList源码分析
序言 第一次看源码,借鉴的是这位博主的文章:http://blog.csdn.net/csh624366188/article/details/6896656 个人觉得他写的一系列文章很好,稍微有点 ...
- android: UriMatcher的用法
ContentProvider是Android四大组件之一,网上也有不少关于它的文章,基本用法都可以查到,但关于UriMatcher在其中的作用,文章中都有例子,但我觉得还没有说清楚. 先说为什么用U ...
- OpenBTS的安装(转)
OpenBTS source code可以在这里下载:http://sourceforge.net/projects/openbts/ OpenBTS入门的各种问题可以在这里找到答案:http://g ...
- 【转】Xcode概览(Xcode 6版):循序渐进认识Xcode
该系列文章翻译自苹果的Xcode Overview文档,对大部分开发者来说,已经非常熟悉Xcode的功能和特性,不过伴随着iOS 8 SDK的发布,Xcode 6中也有些许调整,所以对该文档进行了翻译 ...
- Node-restify 简介
restify 是Node.js的模块.虽然restify的API或多或少的参考了express,但restify不是一个MVC框架,它是一套为了能够正确构建REST风格API而诞生的框架. http ...
- 奇怪吸引子---Thomas
奇怪吸引子是混沌学的重要组成理论,用于演化过程的终极状态,具有如下特征:终极性.稳定性.吸引性.吸引子是一个数学概念,描写运动的收敛类型.它是指这样的一个集合,当时间趋于无穷大时,在任何一个有界集上出 ...