使用ETLCloud强大的自定义规则实现自定义数据处理算法

这篇具有很好参考价值的文章主要介绍了使用ETLCloud强大的自定义规则实现自定义数据处理算法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

实时数据处理规则有什么作用

在大数据中的实时数据采集、ETL批量数据传输过程中很多数据处理过程以及数据质量都希望实时进行处理和检测并把不符合要求的脏数据过滤掉或者进行实时的数据质量告警等。

在数据仓库建设过程中,每家企业的数据处理过程中肯定会有一些自身的数据处理特点如学号的处理、车牌号的处理、身份证号码的处理、SKU编码的处理、订单号的处理等等,各行各业都有自己的数据处理和运算方式,而ETL平台本身只是内置了一些通用的数据处理规则,企业所需要的这些个性化的运算规则就可以通过ETL的自定义规则来实现了。

怎么自定义数据处理规则?

首先进入ETL平台的一个应用,只有应用中才可以新增自定义规则,因为规则必须属于某一个应用。

使用ETLCloud强大的自定义规则实现自定义数据处理算法

注意:新增一个规则的分类才可以新增自定义规则

使用ETLCloud强大的自定义规则实现自定义数据处理算法


进入应用配置中新增一个规则分类

使用ETLCloud强大的自定义规则实现自定义数据处理算法

有了分类后再进入到自定义规则中就可以新增规则了,点击新增规则后给规则一个名称如:发动机号校验规则、订单号合法性校验规则等等,class path不用填系统会自动生成。

自定义数据处理规则的注意事项

规则新增成功后就可以给规则进行代码逻辑的编写了

使用ETLCloud强大的自定义规则实现自定义数据处理算法

系统会自动生成一个规则运算的代码模板出来,只需要根据模板中的提示进行逻辑修改即可

使用ETLCloud强大的自定义规则实现自定义数据处理算法

平台运算规则使用的是标准的Java语法,不是JavaScript之类的,所以不用担心运算规则的执行效率,经过我们测试处理100W的数据使用Java规则只需要几秒钟即可完成,而如果用JavaScript语法的规则需要几分钟才能完成,所以RestCloud ETL在性能上是很有优势的。

规则代码编写完成后可以点击编译并保存按钮即可,如果提示成功则表示代码没有问题,如果提示失败可以根据提示信息进行代码修改,如果在Web IDE中编辑不是很方便也可以把代码copy到idea/eclipse中进行编辑,编辑完成后再copy进来即可。

使用参数提升数据处理规则的复用率

如果规则都是固定算法不需要在系统执行时传入参数就不需要定义参数,但是有时我们为了能提升规则的复用性就必须得用到规则参数的功能了如:自定义一个格式化时间的规则,而格式化时间会有: yyyy-MM-dd、yyyy年MM月dd日、yyyy-MM-dd HH:mm:ss等等,根本不知道用户想格式化成什么样,光是一个时间格式如果不用参数我们就得定义一大堆规则才可以实现上面的功能,最好的方式是时间的格式是由绑定规则时指定的一个参数,这样我们在开发规则的时候只需要一个规则即可完成。

使用ETLCloud强大的自定义规则实现自定义数据处理算法

在新建规则时可以指定一个规则参数,这样在用户选择这个规则时就会提醒用户设定参数

使用ETLCloud强大的自定义规则实现自定义数据处理算法

这样用户可以在绑定规则时指定一个参数,这个参数会传入到规则的方法中

使用ETLCloud强大的自定义规则实现自定义数据处理算法

系统通过一个{参数id:参数值}的json传入,我们转为map对象后再获取参数值即可在代码中使用。

怎么使用规则进行数据质量的检查或过滤

规则定义好后我们就可以在ETL的流程中使用这些规则来进行数据质量的检查,数据清洗过滤等操作,如下面这个流程就可以把不符合要求的电话号码的用户给过滤掉同时发送告警通知给用户

使用ETLCloud强大的自定义规则实现自定义数据处理算法

自定义规则调用第三方jar包

规则中可以使用import 引入自己开发的jar包或者第三方jar包的class进入,这样就可以利用第三方jar包中的运算能力(如:spark、sm4加密算法、逻辑回归算法等)来实现很多复杂业务的处理和数据运算。

规则中可以执行SQL吗?

规则中可以很方便地执行SQL语句,系统已经封装了ETLRdbUtil这样工具类(还有其他很多数据库的工具类如:Redis,MongoDB,ES,Kafka等)如下代码即可执行SQL并返回数据

String sql=”select * from tablename where id<10”;

List docs=ETLRdbUtil.listDocs(ETLRdbUtil.getConnection("数据源id"), sql);

for(Document doc:docs) {

PrintUtil.o(doc.getString("userId"));

}

ETLRdbUtil工具类有很多方便访问数据库的工具,一般只需要几行代码就能读取、写入、修改数据,后面我们会专门介绍ETLRdbUtil工具类的使用。

ETLCloud数据集成平台社区版文章来源地址https://www.toymoban.com/news/detail-474859.html

到了这里,关于使用ETLCloud强大的自定义规则实现自定义数据处理算法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 自定义loadbalance实现feignclient的自定义路由

    服务A有多个同事同时开发,每个同事都在dev或者test环境发布自己的代码,注册到注册中心有好几个(本文nacos为例),这时候调用feign可能会导致请求到不同分支的服务上面,会出现一些问题,本文重点在于解决该问题 解决方案 调用流程 [外链图片转存失败,源站可能有防盗链机

    2024年02月11日
    浏览(26)
  • 【Android】CheckBox的自定义样式和使用

    在登录页面。我们需要有一个复选框,让用户进行勾选,同意我们的流氓政策和协议,不然就不让用。 未选择 已选择 我们知道,这个CheckBox的默认样式是一个正方形,现在改成一个圆形的话,首先需要准备两个图案。 创建一个文件 baseline_checked_circle_24.xml 这个文件长这样 再

    2024年02月13日
    浏览(46)
  • Java中使用MapStruct实现对象转换时使用@Mapping的expression表达式实现自定义转换规则(多对一、获取当前Date)

    Java中使用MapStruct实现对象转换/实体属性赋值/Bean属性映射,避免大量setter和getter: Java中使用MapStruct实现对象转换/实体属性赋值/Bean属性映射,避免大量setter和getter_霸道流氓气质的博客-CSDN博客 上面介绍了mapstruct的简单使用,某些场景下需要自定义转换规则,比如记录时间字

    2024年02月14日
    浏览(27)
  • react实现模拟弹框遮罩的自定义hook

    点击按钮用于检测鼠标是否命中按钮 React好玩的自定义hook-useClickOutSide_哔哩哔哩_bilibili

    2024年02月12日
    浏览(28)
  • 微信小程序的自定义TabBar及Vant的使用

    1、在 资源管理器 空白位置,点右键打开 在外部终端窗口打开 2、初始化NPM npm init -y 3、安装命令 npm i @vant/weapp@1.3.3 -S --production 4、构建NPM包 在 工具 里选择构建NPM包 5、删除style:v2 在app.json里,删除\\\"style\\\":\\\"v2\\\" 6、按需引入 7、使用 1、定义 2、使用 1、配置 在app.json中的 ta

    2024年02月14日
    浏览(26)
  • 安卓Bottom Navigation Activity的自定义使用,即常见错误的处理

            首先我们建立一个带有Bottom Navigation Activity项目,新建项目时直接选择Bottom Navigation Activity即可,也可以右键新建Bottom Navigation Activity活动。 初始化的项目结构如下: java中ui文件夹中包含的三个文件夹即为底部导航栏的三个模块,xxxFragment为碎片文件,xxxViewModel为

    2024年02月06日
    浏览(35)
  • 使用Python爬取GooglePlay并从复杂的自定义数据结构中实现解析

    【作者主页】: 吴秋霖 【作者介绍】:Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作! 【作者推荐】:对JS逆向感兴趣的朋友可以关注《爬虫JS逆向实战》,对分布式爬虫平台感兴趣的朋友可以关注《分布式爬虫平台搭建

    2024年02月04日
    浏览(32)
  • VBA中类的解读及应用第八讲:实现定时器功能的自定义类事件

    《VBA中类的解读及应用》教程【10165646】是我推出的第五套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。 类,是非常抽象的,更具研究的价值。随着我们学习、应用VBA的深入,有必要理解这些抽象的理论知识。对象,类,过程,方法

    2024年02月02日
    浏览(28)
  • ElementUi 关于 el-upload的自定义上传(http-request)的使用

       在开发中 遇到如下需求,要求前端传参并导入excel表格。导入失败,要弹出错误信息,同时导出错误信息的excel表格,导入成功提示信息即可。 参考官方文档,把上传需要的属性加加入使用   改造之前: 设置headers信息 在el-upload标签中加入http-request ,如下: 具体操作方法

    2024年02月01日
    浏览(29)
  • 【Spring Cloud】基于 Feign 实现远程调用,深入探索 Feign 的自定义配置、性能优化以及最佳实践方案

    在微服务架构中,服务之间的通信是至关重要的,而远程调用则成为实现这种通信的一种常见方式。在 Java 中,使用 RestTemplate 是一种传统的远程调用方式,但它存在一些问题,如代码可读性差、编程体验不一致以及参数复杂URL难以维护等。 在本文中,我们将探讨如何通过使

    2024年02月04日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包