DataPipeline丨「自定义」数据源,解决复杂请求逻辑外部数据获取难题
A公司专注为各种规模和复杂程度的金融投资机构提供一体化投资管理系统,系统主要由投资组合管理、交易执行管理、实时监控管理、风险管理等功能模块构成。随着企业管理产品数量的不断增多,大量数据分散在各券商系统中且数据存储格式各异,难以管理和利用。
为帮助投资机构最大限度地提高投资决策和运营效率,A公司需要实时监控自己的用户在各个交易平台的基本信息、余额、订单交易情况,并根据分析结果及时给出投资建议。
A公司的这种情况并不是个例。目前,越来越多的企业在数据传输的需求场景中,除了从上游不同业务数据库中实时、定时分配到下游系统之外,还有许多需求场景需要从外部合作商、供应商中获取业务数据。
如果想要每天从企业外部系统中获取数据,通常会采用什么方法呢?
一些用户给出的答案是:根据需要编写不同的脚本,手动调用第三方系统提供的API接口,在抓取数据后,自行编写清洗逻辑,最后实现数据落地。
然而随着第三方系统的日益增多,如果按原有方式会带来过多的脚本维护成本和数据传输任务管理成本。为解决上述痛点,DataPipeline在新版本的数据同步任务中增加了「自定义数据源」功能,用户可以通过上传JAR包的方式自定义获取数据逻辑。新功能支持任意的MySQL、Oracle、SQLServer、Hive、HBase等常见数据源,冷门数据库等(如腾讯云TDSQL),常用的API调用,用户自定义的SDK,或者通过Python抓取数据等。
一、「自定义数据源」提供的价值
通过「自定义数据源」,用户可以:
- 统一管理数据获取逻辑,快速合并JAR减少脚本开发量。
- 当上游发生变化时,不需要对每一个数据传输任务进行调整。
- 可结合DataPipeline的数据解析功能、清洗工具和目标初始化功能减少整体开发量,并提供监控和预警。
二、如何使用「自定义数据源」功能
用户可通过以下四步使用「自定义数据源」功能:
- 创建自定义数据源,并上传JAR包(或调取已上传过的JAR包)。
- 选择数据存放的目的地。
- 使用清洗工具完成数据解析逻辑。
- 配置目的地表结构,即可完成所有配置。
关于「自定义数据源」的核心页面:
1. 用户在选择自定义数据源和目的地后,需要在读取设置步骤中上传JAR包
- 用户可以上传新的JAR包,也可以点击拖放框选择历史已经上传的JAR用作本次任务。
- 用户通过填充类路径和读取数据所需要的配置信息即可完成数据源读取逻辑。

2. 用户可以在一个任务中选择一个或多个读取对象,每个读取对象可以映射到目标表的表中

3. 完成读取设置后,在写入设置步骤中先确定每个读取对象的数据解析逻辑
- DataPipeline会提供JSON解析样例,用户也可以参考样例,自定义解析逻辑。
- 「样例数据」模块会显示通过读取对象配置获取的数据。
- 完成清洗脚本内容后,在「运行结果」模块点击「试运行」即可看到最终写入到目的地的数据格式。

4. 完成解析逻辑后,用户可以手动添加名称并选择对应的数据类型 ,来完成目的地表结构

完成所有配置后点击「立即激活」即可执行数据传输任务。
DataPipeline丨「自定义」数据源,解决复杂请求逻辑外部数据获取难题的更多相关文章
- Dynamo分布式系统——「RWN」协议解决多备份数据如何读写来保证数据一致性,而「向量时钟」来保证当读取到多个备份数据的时候,如何判断哪些数据是最新的这种情况
转自:http://blog.jqian.net/post/dynamo.html Dynamo是Amazon开发的一款高可用的分布式KV系统,已经在Amazon商店的后端存储有很成熟的应用.它的特点 ...
- 自定义HttpReqeust,解决request请求参数只能拿一次就失效的问题
定义一个过滤器并实现如下方法 @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResp ...
- 零元学Expression Design 4 - Chapter 7 使用内建功能「Clone」来达成Path的影分身之术
原文:零元学Expression Design 4 - Chapter 7 使用内建功能「Clone」来达成Path的影分身之术 本章所介绍的是便利且快速的内建工具Clone ? 本章所介绍的是便利且 ...
- DataPipeline丨金融行业如何统一管理单个任务下所有API的同步情况
目前,依靠"手工人力"的电子表格数据治理模式逐渐被"自动智能"的专业工具取代.数据管理员.业务分析师开始采用"平台工具"来梳理主数据.元数据 ...
- 「干货」面试官问我如何快速搜索10万个矩形?——我说RBush
「干货」面试官问我如何快速搜索10万个矩形?--我说RBUSH 前言 亲爱的coder们,我又来了,一个喜欢图形的程序员,前几篇文章一直都在教大家怎么画地图.画折线图.画烟花,难道图形就是这样嘛,当 ...
- JavaScript OOP 之「创建对象」
工厂模式 工厂模式是软件工程领域一种广为人知的设计模式,这种模式抽象了创建具体对象的过程.工厂模式虽然解决了创建多个相似对象的问题,但却没有解决对象识别的问题. function createPers ...
- 「插件」Runner更新Pro版,帮助设计师远离996
三年多前Runner团队在德国汉堡的骇客松上第一次发布了Sketch插件Runner的beta版本.从那以后,这个团队的目标一直很清晰: 创造一个加速设计工作流的工具. 他们只给Runner添加真正能 ...
- 「Python」socket指南
开始 网络中的 Socket 和 Socket API 是用来跨网络的消息传送的,它提供了 进程间通信(IPC) 的一种形式.网络可以是逻辑的.本地的电脑网络,或者是可以物理连接到外网的网络,并且可以 ...
- Android逆向之旅---静态方式分析破解视频编辑应用「Vue」水印问题
一.故事背景 现在很多人都喜欢玩文艺,特别是我身边的UI们,拍照一分钟修图半小时.就是为了能够在朋友圈显得逼格高,不过的确是挺好看的,修图的软件太多了就不多说了,而且一般都没有水印啥的.相比较短视频有 ...
随机推荐
- mobx 学习笔记
Mobx 笔记 Mobx 三板斧,observable.observer.action. observable: 通过 observable(state) 定义组件的状态,包装后的状态是一个可观察数据 ...
- ESP8266MOD、刷可以使用AT指令的固件、作为客户端向贝壳云端发送固定数据
硬件部分 1. ESP8266MOD 2. Micro USB数据线一根 实物图:(小灯不必) 硬件准备好之后,直接用数据线连接到电脑即可,然后找到所对应的COM口,记下来备用! 为ESP8266刷A ...
- SCDM导入点数据
我们有时候需要把外部的点导入SCDM当中,但是SCDM没有像ICEM或者DM那样直接提供点导入的选项,是不是SCDM就无法导入点的数据了呢?答案当然是否定的.把点导入SCDM中的方法总结如下(示例数据 ...
- ASP.NET 网站迁移 HTTP 错误 500.22 - Internal Server Error 检测到在集成的托管管道模式下不适用
前提:今天要做网站迁移,把A服务器上的网站迁移到B服务器上,A服务器当时的环境是.NET 4.0 ,而B服务器是.NET2.0,A服务器IIS为6.0,B服务器IIS版本为7.0 第一步,先在B服务 ...
- 本周使用angular7所遇到的一些问题
前言 本周在使用angular7所遇到的一些问题,学习是不断的循序渐进的过程,在本周完成对应的工作后,也要抽出一些时间用来学习,比较我们公司10点上班,我一般9点就会到,在这一个小时内看看博客,写写笔 ...
- Docker在Windows上的初体验
作为Docker的初学者,我有几个疑问,找到了答案,并实践了一下,希望对和我一样的初学者有帮助: 1.Docker是什么? 大家对虚拟机应该比较熟悉,虚拟机和docker都是为了实现隔离. 虚拟机隔离 ...
- Sitecore 8.2 工作流程
假设您的新Sitecore项目的所有开发都已完成.现在的下一步是在网站上填写内容并准备上线.客户通知您他们希望使用专门的网站管理员团队负责整个内容管理流程,并要求您为他们准备实例以便能够执行此操作. ...
- 大一C语言课程设计——班级档案管理系统
记录我在大一第二学期期末做的C语言课程毕业设计 1. 班级档案管理系统运用到的主要结构体 typedef struct birthday //出生日期{int year;int month;int d ...
- 『正睿OI 2019SC Day8-Day17』
于是就迎来\(10\)天的自闭考试了,每天写点小总结吧. Day8 第一天就很自闭啊,考题分别是数学题+建模题+图论. 前两道题都没有什么算法,但是难度还是有的,于是就做不太出来,特别是第一题.第二题 ...
- Java学习:Map接口
Map集合 Collection接口: 定义了单列集合规范 Collection<E> 每次存储一个元素 单个元素 Map接口:定义了双列集合的规范 Map<K,V> 每次存储 ...