做云市场行业的领导者
欢迎光临本网站
主页 > 阿里云 >

如何在ksqldb5.返利平台有哪些-0中构建UDF和/或UDAF

发布时间:2020-09-22 15:43   来源:维塔尔云    作者:维塔尔云

如何在ksqldb5.0中构建UDF和/或UDAF

ksqlDB是专门为流处理应用程序构建的事件流数据库,支持针对Apache Kafka®的实时数据处理。ksqlDB使用类似SQL的语义,可以方便地实时、大规模地读、写和处理流数据。ksqlDB已经有很多可用的函数,比如SUBSTRING、STRINGTOTIMESTAMP或COUNT。即便如此,许多用户仍需要额外的功能来处理他们的数据流。ksqlDB现在有了一个用于构建自己函数的官方API。在Confluent Platform 5.0的发行版中,ksqlDB支持创建用户定义的标量函数(UDF)和用户定义的聚合函数(UDAF)。只需编写一个Java类就可以了。如果需要,UD(A)F可以嵌入任何附加的依赖项(比如额外的jar或其他二进制文件)。在这篇博文中,我们将讨论ksqlDB中UD(A)Fs的主要需求和动机,展示一个具有深入学习的UDF的高级示例,证明构建甚至是非常强大的东西是多么容易,并确定在开发和测试期间可能面临的一些问题。ksqlDB UDF/UDAFs的动机让我们首先讨论UD(A)Fs是什么,以及为什么需要构建自己的UD(A)Fs。内置ksqlDB函数处理流数据函数是ksqlDB中的关键组件之一。ksqlDB中的函数类似于其他SQL引擎或编程语言(如Java、Python或Go)中的函数、操作或方法。它们接受参数,执行诸如复杂计算之类的操作,企业建站平台,并将该操作的结果作为值返回。它们在KSQL查询中用于过滤、转换或聚合数据。ksqlDB中已经内置了许多函数,每个版本都会添加更多的函数。我们将它们分为两类:无状态ksqlDB标量函数和有状态ksqlDB聚合函数。但是,如果错过了ksqlDB语法中的某个特定函数,网站服务器租用,永久免费的云服务器,该怎么办呢?非常简单:您可以使用官方的ksqldbapi构建自己的一个。让我们看看编写自己的无状态UDF或有状态UDF有多容易。ksqlDB中的UD(A)Fs与内置函数不同,UD(A)Fs是由程序或环境的用户提供的函数。UD(A)F通过添加一个可以在标准查询语言语句中求值的函数,提供了一种扩展ksqlDB引擎功能的机制。在ksqlDB中使用UD(a)F与在ksqlDB中使用内置函数完全相同。这两个引擎都在启动前注册到ksqlDB引擎。它们期望输入参数并返回输出值。下面是一个内置函数STRINGTOTIMESTAMP的示例,淘客放单,用于将给定格式的字符串值转换为表示时间戳的BIGINT值:选择STRINGTOTIMESTAMP(时间戳,'yyyy-MM-dd HH:MM:不锈钢不锈钢')来自TimestampStream;查看原始gistfile1.txt文件托管❤ 通过GitHub此函数获取时间戳2017-12-18 11:12:13.111(数据类型:String)并将其转换为1513591933111(数据类型:BigInt)。现在让我们看一下构建您自己的UDF的步骤,以与上面的STRINGTOTIMESTAMP函数相同的方式在ksqlDB语句中使用它。用于异常检测的深度学习自定义项构建ksqlDB udf很容易,不管它们是简单的还是强大的。考虑到这一点,让我们看看开发、测试和部署新的ksqlDB UDF的步骤。创建、部署和测试ksqlDB UDF的步骤您可以构建非常简单的ksqlDB函数,例如用于乘法的特定标量函数(请参阅合流文档以了解如何实现),一个具有许多计算或聚合的功能强大的函数,或介于这两个端点之间的任何函数。当然,创建一个有状态的UDAF也是一样的。下面的示例向您展示了如何构建一个更高级的UDF,它嵌入了一个分析模型(即,一个外部依赖)。这听起来很复杂,但实际上实现起来很简单。我们编写一个Java类,添加依赖项,编写业务逻辑,大数据视频,并构建一个包含UDF及其依赖项的uberjar。这个UDF可以部署到ksqlDB服务器,然后由最终用户在ksqlDB语句中使用,而无需使用任何编程语言进行编码。深度学习UDF的Java源代码开发一个自定义项也是相当容易的。只需在Java类中的Java方法中实现函数,并添加相应的Java注释:@Udf(description="将分析模型应用于传感器输入")公共字符串异常(字符串传感器输入){"你的逻辑"}查看原始KSQL UDF方法接口托管❤ 通过GitHub以下是异常检测ksqlDB UDF的完整源代码:包裹com.github.megachucky网站.卡夫卡。溪流。机器学习;进口java.util.array;进口十六进制.genmodel.genmodel;进口hex.genmodel.easy.EasyPredictModelWrapper;进口hex.genmodel.easy.行数据;进口hex.genmodel.easy.异常。预测异常;进口hex.genmodel.easy.预测.自动编码模式预测;进口io.confluent.ksql.函数.udf.udf;进口io.confluent.ksql.函数.udf.udf说明;@UdfDescription(name="异常",description="使用深度学习进行异常检测")公共类异常{//使用H2O R API制造的模型://异常模式

上一篇:卡夫卡溪买云服务器-流在行动
下一篇:把阿帕奇卡夫卡的有哪些云服务器-力量交给数据科学家

分享到:
0
最新资讯
阅读排行