DataPipeline丨「自定义」数据源,解决复杂请求逻辑外部数据获取难题

为解决企业数据传输痛点,DataPipeline新增「自定义数据源」功能,支持用户通过上传JAR包自定义数据获取逻辑,减少脚本开发量,统一管理数据获取逻辑,降低维护成本。适用于MySQL、Oracle、SQLServer等多种数据源,及API调用、用户自定义SDK等。

在这里插入图片描述

A公司专注为各种规模和复杂程度的金融投资机构提供一体化投资管理系统,系统主要由投资组合管理、交易执行管理、实时监控管理、风险管理等功能模块构成。随着企业管理产品数量的不断增多,大量数据分散在各券商系统中且数据存储格式各异,难以管理和利用。

为帮助投资机构最大限度地提高投资决策和运营效率,A公司需要实时监控自己的用户在各个交易平台的基本信息、余额、订单交易情况,并根据分析结果及时给出投资建议。

A公司的这种情况并不是个例。目前,越来越多的企业在数据传输的需求场景中,除了从上游不同业务数据库中实时、定时分配到下游系统之外,还有许多需求场景需要从外部合作商、供应商中获取业务数据。

如果想要每天从企业外部系统中获取数据,通常会采用什么方法呢?

一些用户给出的答案是:根据需要编写不同的脚本,手动调用第三方系统提供的API接口,在抓取数据后,自行编写清洗逻辑,最后实现数据落地。

然而随着第三方系统的日益增多,如果按原有方式会带来过多的脚本维护成本和数据传输任务管理成本。为解决上述痛点,DataPipeline在新版本的数据同步任务中增加了「自定义数据源」功能,用户可以通过上传JAR包的方式自定义获取数据逻辑。新功能支持任意的MySQL、Oracle、SQLServer、Hive、HBase等常见数据源,冷门数据库等(如腾讯云TDSQL),常用的API调用,用户自定义的SDK,或者通过Python抓取数据等。

一、「自定义数据源」提供的价值

通过「自定义数据源」,用户可以:

统一管理数据获取逻辑,快速合并JAR减少脚本开发量。
当上游发生变化时,不需要对每一个数据传输任务进行调整。
可结合DataPipeline的数据解析功能、清洗工具和目标初始化功能减少整体开发量,并提供监控和预警。

二、如何使用「自定义数据源」功能

用户可通过以下四步使用「自定义数据源」功能:

  • 创建自定义数据源,并上传JAR包(或调取已上传过的JAR包)。
  • 选择数据存放的目的地。
  • 使用清洗工具完成数据解析逻辑。
  • 配置目的地表结构,即可完成所有配置。

关于「自定义数据源」的核心页面:

用户在选择自定义数据源和目的地后,需要在读取设置步骤中上传JAR包

  • 用户可以上传新的JAR包,也可以点击拖放框选择历史已经上传的JAR用作本次任务。
  • 用户通过填充类路径和读取数据所需要的配置信息即可完成数据源读取逻辑。

在这里插入图片描述
2. 用户可以在一个任务中选择一个或多个读取对象,每个读取对象可以映射到目标表的表中

在这里插入图片描述
完成读取设置后,在写入设置步骤中先确定每个读取对象的数据解析逻辑

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

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

在这里插入图片描述
完成所有配置后点击「立即激活」即可执行数据传输任务。

一. DataX3.0 概览  DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle 等)、HDFS、Hive、ODPS、HBase、FTP 等各种异构数据源之间稳定高效的数据同步功能。  设计理念  为了解决异构数据源同步问题,DataX 将复杂的网状的同步链路变成了星型数据链路,DataX 作为中间传输载体负责连接各种数据源。当需要接入一个新的数据源的时候,只需要将此数据源对接到 DataX,便能跟已有的数据源做到无缝数据同步。  当前使用现状  DataX 在阿里巴巴集团内被广泛使用,承担了所有大数据的离线同步业务,并已持续稳定运行了 6 年之久。目前每天完成同步 8w 多道作业,每日传输数据量超过 300TB。  此前已经开源 DataX1.0 版本,此次介绍为阿里巴巴开源全新版本 DataX3.0,有了更多更强大的功能和更好的使用体验。Github 主页地址:https://github.com/alibaba/DataX。  二、DataX3.0 框架设计  DataX 本身作为离线数据同步框架,采用 Framework plugin 架构构建。将数据源读取和写入抽象成为 Reader/Writer 插件,纳入到整个同步框架中。  Reader:Reader 为数据采集模块,负责采集数据源数据,将数据发送给 Framework。  Writer: Writer 为数据写入模块,负责不断向 Framework 取数据,并将数据写入到目的端。  Framework:Framework 用于连接 reader 和 writer,作为两者的数据传输通道,并处理缓冲,流控,并发,数据转换等核心技术问题。  三. DataX3.0 插件体系  经过几年积累,DataX 目前已经有了比较全面的插件体系,主流的 RDBMS 数据库、NOSQL、大数据计算系统都已经接入。DataX 目前支持数据如下:  DataX Framework 提供了简单的接口与插件交互,提供简单的插件接入机制,只需要任意加上一种插件,就能无缝对接其他数据源。详情请看:DataX 数据源指南  四、DataX3.0 核心架构  DataX 3.0 开源版本支持单机多线程模式完成同步作业运行,本小节按一个 DataX 作业生命周期的时序图,从整体架构设计非常简要说明 DataX 各个模块相互关系。  核心模块介绍:  DataX 完成单个数据同步的作业,我们称之为 Job,DataX 接受到一个 Job 之后,将启动一个进程来完成整个作业同步过程。DataX Job 模块是单个作业的中枢管理节点,承担了数据清理、子任务切分(将单一作业计算转化为多个子 Task)、TaskGroup 管理等功能。  DataXJob 启动后,会根据不同的源端切分策略,将 Job 切分成多个小的 Task (子任务),以便于并发执行。Task 便是 DataX 作业的最小单元,每一个 Task 都会负责一部分数据的同步工作。  切分多个 Task 之后,DataX Job 会调用 Scheduler 模块,根据配置的并发数据量,将拆分成的 Task 重新组合,组装成 TaskGroup (任务组)。每一个 TaskGroup 负责以一定的并发运行完毕分配好的所有 Task,默认单个任务组的并发数量为5。  每一个 Task 都由 TaskGroup 负责启动,Task 启动后,会固定启动 Reader>Channel>Writer 的线程来完成任务。 标签:数据同步
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值