暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

脚本开发工具的设计与实现

Sumslack团队 2021-12-16
876

概述

作为一家金融科技公司,产品围绕着“数据”展开,产品的核心价值也来自于“数据”,那么怎么基于公司数据编程并实现数据业务需求是一项非常重要的工作。

说到数据,首先想到数据异地异构的同步,这是确保你数据能被分发到各种环境的先决条件。为此我们全新的数据同步分发平台,在互联网上,用户只需要通过我们平台注册账号,即可将我们的数据同步到你们的内网环境数据库或KV系统中(支持包含MySQL
Oracle
Clickhouse
主流数据库和Kafka消息队列)中

但有时,客户/其他部门并不想订阅我们的数据,而是希望能基于公司的数据做一些编程,拿到我想要的数据发到我邮箱或者做一些漂亮的报表,针对我们部门内部,还有各种复杂的数据编程工作,那么,我们希望开发一套IDE,数据能在安全授权的环境下被合规安全高效的使用。

数据编程是一项非常繁杂和危险的开发工作,所以我们希望整个数据编程都能在较为安全的环境中进行,所以开发了这套数据编程工具。

本平台功能简述:

数据编程流程化:需求分派,需求脚本开发,需求部署到测试,测试核验,申请发布,脚本上线脚本开发集成环境:集成各类数据编程小工具,如数据浏览器,代码提示,在线文档脚本开发支持Python
,JS
,Groovy
等主流脚本开发语言
可以编写包括基于数据的手动任务,定时任务,增量任务,时间戳任务支持将脚本功能发布成API,供其他系统使用

试想一下,基于数据编程,我们需要解决几类典型问题:

一次性数据加工(手动任务)某些表的某些字段变动可计算其他字段的值(实时增量任务)通过时间戳,批量更新和处理一批数据(时间戳任务)定时执行任务,如数据质检(定时任务)

亮点功能

开发流程标准化

在整个数据开发工作中,做到了各司其事。

1.数据部在平台中提交数据处理需求2.组长分配需求工作给脚本工程师3.脚本工程师按业务需求开发脚本,并在工具上调测脚本,通过切换步骤让业务部验证脚本功能准确性,再申请发布4.组长审批需上线的脚本并一键发布到生产环境 为了确保数据编程足够安全,整个调试工作都在测试环境中进行(可以理解为沙箱环境),整个数据编程工作效率高,责任到相关人,一旦线上出现业务数据查错,排查问题流程简单。

丰富自定义函数库

通过持续的基于数据编程的观察,我们积累了多大上千个数据处理自定义函数,可以让数据编程变得更加简单:

不论你解析网页数据,json,excel,word,影印版pdf,图片还是其他,系统都提供了不同的函数让你功能实现触手可及。

任务类型多样化

在我们实际使用过程中,系统提供的四种任务涵盖了数据编程中的所有场景。特别是实时增量任务,不仅支持数据库表的触发,还支持kafka队列,理论上可以满足任意数据源的实时变动通知。

分布式执行引擎

系统提供了包括普通任务,kettle任务,爬虫,Flink等多种执行引擎,通过统一的任务调度中心,可将脚本在正确的时间点准确无误的被执行。执行引擎支持分布式部署

工具集成

我们的设想是所有数据的有关工具都可以在这套工具上触手可及,不论你想查看数据(选中编辑器一段代码即可执行SQL在数据浏览器中查看),还是想修改某条数据做触发测试,还是针对数据画一些批量的图表,在IDE中都可以被找到相应功能,数据编程,你再也无需打开数据库客户端工具,呈现数据你也无需借助部署各种报表工具。

当然,目前我们这个工具才第一版,有些功能还不完善,会在后续使用过程中逐步完善,再与大家分享。目前该工具已与我们SDP无缝整合

你可以继续阅读:


一款自动生成后台代码的管理系统的设计与实现 “大”中台,“小”前端的架构演变| 云服务平台中推送服务的设计与实现 | 对微服务的理解以及实现一套微服务对外发布API管理平台 | 项目开发中常用的设计模式整理 | 异构语言调用平台的设计与实现 | 大话正则表达式 | 云API平台的设计与实现 | 个税改了,工资少了,不要慌!文末附计算器


关注我们的公众号 

长按识别二维码关注我们


文章转载自Sumslack团队,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论