| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 处理具有业务特性的计算问题:CirroData-TimeS时序数据库用户自定义函数介绍 -> 正文阅读 |
|
[大数据]处理具有业务特性的计算问题:CirroData-TimeS时序数据库用户自定义函数介绍 |
CirroData-TimeS时序数据库可以应用于多种场景,例如交通、公共服务、金融、电力、新能源等,针对不同的业务场景,对数据的处理逻辑也会有不同的方式。而通用的时序数据库提供的内置函数一般具有业务通用性,对于具有业务特性的处理逻辑一般情况下都是在业务侧做,会有更多的资源开销。如果数据库能提供更灵活的处理框架能将处理逻辑下推,就可以获得更好的性能。 将用户自己的业务处理逻辑加到数据库的数据处理框架下,会带来两个好处:
大数据处理框架目前使用比较常见的有hive的自定义函数功能,其支持三种自定义函数:
在时序数据场景中比较常见的需求是对原始数据进行一些变形、过滤或扩增,并控制数据最终的输出。
为了增强自定义函数的扩展性,UDTF需要支持的能力:
为了支持上述三种能力,设计6种接口,如下表所示: 其中比较核心的就是beforeStart和transform两个方法。
transform的作用是:
数据流分成三层:
下面以一个udf函数算子创建流程来介绍下如何创建自定义算子。 当前只支持java语言定义的自定义函数,因此下面的代码编写都是以java为例进行说明。
两步:
maven管理项目,添加以下依赖
主要是实现三个函数:
2、beforeStart,设置算子的输出数据类型,输入模式
3、transform,进行真正的逻辑计算
将该函数进行打包成jar文件,以idea为例 【使用UDF算子】 可以插入几条数据,然后进行测试: 【总结】 udf框架设计还是比较完善的,能满足非常多的需求。当前已经有很多内置的已经能覆盖时序处理 相关的通用函数。覆盖数据画像、异常检测、数据匹配、频域分析、数据质量评估、数据修复等领域。
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 20:38:51- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |