hive 转拼音udf_Hive UDF编程:自己动手实现implode函数
hive + udaf + implode 函数的实现
hive中的explode函数,可以一个数组字段转换为多行记录
现在我实现该函数的逆函数,命名为implode
java代码如下:
package yuanshu.udf;
import java.util.ArrayList;
import org.apache.hadoop.hive.ql.exec.UDAF;
import org.apache.hadoop.hive.ql.exec.UDAFEvaluator;
import org.apache.hadoop.io.Text;
public class UDAF3 extends UDAF{
public static class Evaluator implements UDAFEvaluator {
private boolean mEmpty;
private ArrayList mSum;
public Evaluator() {
super();
init();
}
public void init() {
//mSum = "";
mSum = new ArrayList();
mEmpty = true;
}
public boolean iterate(String o) {
if (o != null) {
//String a = o.toString();
mSum.add(o);
mEmpty = false;
}
return true;
}
public ArrayList terminatePartial() {
// This is SQL standard - sum of zero items should be null.
return mEmpty ? null : mSum;
}
public boolean merge(ArrayList o) {
if (o != null) {
//String a = o.toString();
mSum.addAll(o);
mEmpty = false;
}
return true;
}
public ArrayList terminate() {
// This is SQL standard - sum of zero items should be null.
return mEmpty ? null : mSum;
}
}
}
在hive中,操作如下:
select
implode(nani)
from
(select
explode(s) as nani
from
(select
array(11,22,33,44) as s
from
tb1
)t1
)t2;
结果如下:
Job running in-process (local Hadoop)
2011-12-20 13:57:20,049 null map = 100%, reduce = 100%
Ended Job = job_local_0001
OK
["11","22","33","44","11","22","33","44","11","22","33","44","11","22","33","44","11","22","33","44","11","22","33","44","11","22","33","44","11","22","33","44"]
Time taken: 3.425 seconds
hive>
hive 转拼音udf_Hive UDF编程:自己动手实现implode函数相关推荐
- hive 转拼音udf_Hive 自定义UDF函数
Hive的SQL可以通过用户定义的函数(UDF),用户定义的聚合(UDAF)和用户定义的表函数(UDTF)进行扩展. 当Hive提供的内置函数无法满足你的业务处理需要时,此时就可以考虑使用用户自定义函 ...
- hive 转拼音udf_MaxCompute UDF系列之拼音转换-阿里云开发者社区
汉字转换拼音在日常开发中是个很常见的问题.例如我们伟大的12306,在地名中输入"WH",就会出现"武汉""芜湖""威海" ...
- hive 转拼音udf_<Zhuuu_ZZ>HIVE(十二)UDF自定义函数
<Zhuuu_ZZ>HIVE(十二)UDF自定义函数 <Zhuuu_ZZ>HIVE(十二)UDF自定义函数 Hive UDF开发流程 一 创建Maven工程 二 导入依赖Jar ...
- 6、HIVE JDBC开发、UDF、体系结构、Thrift服务器、Driver、元数据库Metastore、数据库连接模式、单/多用户模式、远程服务模式、Hive技术原理解析、优化等(整理的笔记)
目录: 5 HIVE开发 5.1 Hive JDBC开发 5.2 Hive UDF 6 Hive的体系结构 6.2 Thrift服务器 6.3 Driver 6.4 元数据库Metastore 6.5 ...
- Hive创建自己的UDF并永久化详细记录
1.UDF是什么? hive的类SQL预发给数据挖掘工作者带来了很多便利,海量数据通过简单的sql就可以完成分析,有时候hive提供的函数功能满足不了业务需要,就需要我们自己来写UDF函数来辅助完成, ...
- python分段函数输入x的值求y的值_C语言编程题 有一分段函数如下,要求用scanf函数输入整数x的值,求y值并在屏幕上输出。有分段函数如下,编程实现输入整...
C语言编程题 有一分段函数如下,要求用scanf函数输入整数x的值,求y值并在屏幕上输出. 有分段函数如下,编程实现输入整 www.zhiqu.org 时间: 2020-11-22 #include ...
- 翻译连载 | JavaScript轻量级函数式编程-第4章:组合函数 |《你不知道的JS》姊妹篇...
原文地址:Functional-Light-JS 原文作者:Kyle Simpson-<You-Dont-Know-JS>作者 关于译者:这是一个流淌着沪江血液的纯粹工程:认真,是 HTM ...
- Python学习札记(二十) 函数式编程1 介绍 高阶函数介绍
参考: 函数式编程 高阶函数 Note A.函数式编程(Functional Programming)介绍 1.函数是Python内建支持的一种封装,我们通过一层一层的函数调用把复杂任务分解成简单的任 ...
- c语言中removeDir的相反函数,C语言编程常见问题解答之常用函数的包括文件.doc
C语言编程常见问题解答之常用函数的包括文件 C语言编程常见问题解答之常用函数的包含文件(1) 作者:unknown 更新时间: 2005-05-10 函数 包含 类别 功能 _atold math.h ...
- Python编程核心内容 ---- Function(函数)
什么"大事"呢?下面将要介绍Python编程的核心内容之一--函数. 对于Python编程,函数的重要性不言而喻.重要的事情讲三遍:函数实在是太重要,太关键了. 引入函数 之前,我 ...
最新文章
- LeetCode(7.整数反转)JAVA
- 分享一个高质量的 小程序UI框架
- word break
- android面试题总结加强
- openstack之虚拟机管理命令
- CentOS 安装MySQL rpm方式安装
- 牛客2021年愚人节比赛 【题解】
- AHU_OJ 434
- mysql 加密 en_MySQL8.0 的表空间文件加密控制
- 黑马程序员_MapK,V 映射关系 Map.Entry
- python库ffmpeg的错误解决方法:“Couldn‘t find ffmpeg or avconv - defaulting to ffmpeg, but may not work“
- session json()中文乱码_[Win] FTP传输工具 FlashFxp v5.4.0 build3970 中文便携版
- 余压监控系统在住宅小区的应用方案
- iOS App Clips学习笔记
- 数据元素、数据项、组合项、数据结构
- USB会议摄像机的重要的网络特性
- 1.8-20:反反复复
- oracle创建表空间笔记 小白专属 小白必看!(内有福利)
- 互动媒体技术——Processing创意绘画系统
- Android 身份证扫描
热门文章
- Shifter - Responsive HTML5 高大上静态页面
- Git Commit failed with error The Git process exited with the code -1,073,741,819
- Matlab saveas 函数批量保存彩色eps图片到指定路径
- 智课雅思词汇---二十二、-al即是名词性后缀又是形容词后缀
- 学画画软件app推荐_一步一步教画画的app有哪些_2018手机画画软件哪个好呢_96u手游网...
- 陀螺仪c语言算法,陀螺仪传感器建模与卡尔曼姿态解算
- torch.kron()函数
- MySQL技术:数据库逻辑结构单元
- 编译适配 联想Y1(NewifiMini)的Padavan 固件
- 服务器四核cpu性能排行,服务器cpu性能排行