spark SQL自定义函数:
spark SQL 自定义函数:
自定义函数:
第一种: U D F (用户自定义函数)函数
特点: 一对一的关系,输入一个值以后输出一个值 (一进一出) 大部分的内置函数都是U D F函数
比如:substr()
第二种:U D A F 用户自定义聚合函数
特点:多进一出
比如SUM() count() avg()....
第三种:U D T F 用户自定义表生成函数
特点:一进多出(给一个数据,返回多行多列的数据)
比如:explode()爆炸函数
不管是spark SQL内置函数还是hive内置函数都属于这三种.
自定义函数的目的:
扩充函数,因为在进行业务分析的时候,有时候会用到某些功能,但是内置函数没有这些功能,于是进行自定义函数进行相关业务分析.
目前支持自定义函数:
spark sql : UDF UDAF
python语言只支持U D F 如果想要定义UDAF ,需要使用pandas U D F 实现
注意点:
在使用python 原生 spark sql 的UDF方案,整个执行效率不是很高,因为整个内部运算是一个来处理,一个个返回,这样会导致频繁进行 序列化和反序列化操作 从而影响效率.
后续改进操作: 采用jave 或者scala定义,然后python调用即可
目前主要版本:pandas的UDF函数解决,同时采用apache arrow内存数据结构框架来实现,提升整个执行效率.
spark sql定义UDF函数:
如何自定义UDF函数:
第一步:在python定义一个python函数
第二步:将这个函数注册到spark sql中:
方式一:
参数1:UDF函数的名字,此名字可以在后续SQL中使用
参数2:python的函数名称(需要将那个python的函数进行注册,写上这dui函数的名称)
参数3:python函数的返回值类型
UDF对象: 应用在DSL中使用
方式二:
udf对象 = F.udf(参数1,参数2)
参数说明:
参数1: python的函数名称(需要将那个python的函数进行注册,写上这个函数的名称)'
参数2: python函数的返回值类型
UDF对象:应用在DSL中使用
第三步: 在DSL中SQL中使用即可.
spark SQL自定义函数:相关推荐
- Spark SQL自定义函数_第五章
1.自定义函数分类 类似于hive当中的自定义函数, spark同样可以使用自定义函数来实现新的功能. spark中的自定义函数有如下3类 1.UDF(User-Defined-Function) 输 ...
- Spark SQL自定义函数
文章目录 自定义函数分类 自定义UDF 自定义UDAF[了解] 自定义函数分类 类似于hive当中的自定义函数, spark同样可以使用自定义函数来实现新的功能. spark中的自定义函数有如下3类 ...
- spark sql自定义UDF函数-java语言
背景说明 基于spark sql开发过程中,需要一些类似与官网提供的 int().from_json()等自定函数处理数据.下属将简单讲解通过java如何实现spark sql自定义函数 官方UDF接 ...
- MS SQL自定义函数IsPositiveInteger MS SQL自定义函数IsNumeric 水晶报表使用IEnumerableT数据源...
MS SQL自定义函数IsPositiveInteger 判断字符串是否为正整数,0开始的的数字不算. SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ...
- sql 自定义函数 示例_SQL滞后函数概述和示例
sql 自定义函数 示例 In the article SQL Server Lead function overview and examples, we explored Lead functio ...
- sql 自定义函数 示例_SQL Server SESSION_CONTEXT()函数与示例
sql 自定义函数 示例 This article explores the SQL Server session context function, SESSION_CONTEXT() and pe ...
- sql自定义函数学习思路_学习SQL:用户定义的函数
sql自定义函数学习思路 You can create several user-defined objects in a database. One of these is definitely u ...
- Spark SQL 开窗函数row_number的使用
Spark SQL 开窗函数row_number的使用 窗口函数 row_number即为分组取topN 参考文本: 型号 ...
- sql 自定义函数 示例_SQL Server Choose()函数介绍和示例
sql 自定义函数 示例 In the article, a CASE statement in SQL, we explored one of the important logical expre ...
最新文章
- Opencv java 角点检测 preCornerDetect(15)
- C# + ArcEngine 常用方法(不定时更新)
- 计算机网络基础(缩短版)
- 捕获Wscript.Quit的退出码
- 存入json文件_学成在线第8-2天讲义-课程图片管理 分布式文件系统 上传图片开发...
- Java面试题:String 和 StringBuffer、StringBuilder 的区别是什么?
- vue token过期如何处理_超市货架上摆放有过期食品如何定性处理?总局这样答复...
- 目标检测(一)目标检测算法综述
- 搞写商业计划书的要点
- ITK VKT 安装-详细
- 基于阿里语音识别(ASR)C/C++ SDK2.0编写的unimrcp中间件
- python网课 知乎_如何看待风变编程的 Python 网课
- 【Vue知识点- No5.】生命周期、axios、购物车案例
- 强大的合成器微信小程序源码支持视频,gif动态证件照等等几十种功能
- Chrome主页被强制修改为百度解决办法
- 计算机硬盘隐,终极电脑磁盘隐藏方法大全
- oracle 取1条记录,oracle 获取第一条数据
- UI设计中最重要的元素和原则是什么
- 人生的极致:大道至简 知行合一
- ROS智能车实现darknet_ros检测物体
热门文章
- 浅谈XILINX FPGA CLB单元 汇总 (CLB、LUT、存储单元、Distributed RAM、移位寄存器、多路复用器、进位逻辑(Carry Logic))
- 饥荒mod制作教程--物品(食物)该篇主讲贴图--01
- 旅游企业财务管理【2】
- Linux下清理磁盘数据方法
- 电脑无线共享手机wify上网
- 怎样用计算机计算分数除法,分数除法的计算方法
- 三星android获取root权限,三星i9000 Android 2.3.3获取root权限教程
- 东南大学和华中科技大学计算机哪个好,中南大学、东南大学、华中科技大学,这三所学校到底哪个好?...
- java none怎么用tomcat_关于如何在Tomcat中使用JavaBean
- 红叶李之虚拟机以及Centos安装