AllData基于开源项目DataCap构建数据中枢平台,完成JDBC组件拖拽式数据集成多源数据互通,开箱即用
告别复杂脚本!AllData 数据中台深度集成开源 DataCap,构建一站式数据中枢平台,新增 JDBC 组件可视化拖拽数据集成能力。支持 MySQL、Oracle、PostgreSQL、达梦、人大金仓等各类 JDBC 兼容数据库,可视化编排、低代码完成数据接入、转换、同步与查询,大幅降低异构数据库集成门槛,助力企业快速盘活存量数据资产。
本次重点能力:JDBC 通用驱动组件可视化拖拽编排
实操步骤:
步骤1:先在目标端创建数据表dws_product_sales_summary,为后续分析存放结果数据。
步骤2:点击页面右上角【+】进入工作流画布页面;
步骤3:在工作流画布左边选择数据组件,通过选中拖拽方式拉到画布中;Input输入组件选择Jdbc → Output输出组件选择Jdbc
组件介绍:
Input输入组件:负责“抽”数据,把数据从数据库里读取出来,作为整个工作流的起点
1、Clickhouse
作用:专门用于从ClickHouse数据库(一种用于联机分析处理OLAP的列式数据库,查询极快)中读取数据。
适用场景:当源数据存放在 ClickHouse 中时使用。
2、Jdbc (JDBC source connector)
作用:通过Java数据库连接(JDBC)标准协议读取数据。
适用场景:最通用的数据输入组件。支持 MySQL、Oracle、PostgreSQL、SQL Server 等几乎所有关系型数据库。可以在里面写 SELECT 查询语句,或者直接指定读取哪张表。
Transform转换组件:负责“洗”数据,用于对从Input抽取进来的数据进行加工、清洗和转换,然后再交给Output
3、Sql (SQL transform)
作用:使用SQL语法对数据流进行加工。比如过滤(WHERE)、字段映射、聚合计算(GROUP BY)等。
适用场景:当需要读取的数据进行复杂的逻辑计算或清洗时使用。
4、Split (Split transform)
作用:数据分流/拆分。通常是指根据某个字段或条件,将一条数据流拆分成两条或多条数据流。
适用场景:从一个表里读数据,希望把“状态为成功”的数据输出到A表,把“状态为失败”的数据输出到B表,就可以用这个组件把流“劈开”。
5、Replace (Replace transform)
作用:字段值替换。类似于文本处理中的“查找和替换”。
适用场景:用于数据脱敏或格式统一。比如把源数据里的“M”替换成“男”,“F”替换成“女”;或者把包含特定敏感词的内容替换成“***”。
Output输出组件:负责“写”数据,负责把处理好的最终结果写入到目标位置。
6、Jdbc (JDBC sink connector)
作用:通过JDBC协议将数据写入关系型数据库(MySQL、Oracle等)。适用场景:最通用的输出组件,将数据持久化保存到常规数据库中,或者建立数据仓库的ODS/DWD层表。
7、Clickhouse (Clickhouse sink connector)
作用:专门用于将数据高速写入ClickHouse数据库。适用场景:当需要处理海量数据的快速入库,或者需要构建用于大屏展示的极速查询分析表时使用。
步骤4:设置组件信息
在Input输入–Jdbc中设置数据从哪里以及用什么方式读取,在Query (查询语句)输入按产品聚合的交易结算统计查询语句:
在Output输出–Jdbc中设置数据写到哪里,完成后将Input输入到Output输出这个顺序将组件连接起来,运行后会自动按顺序执行。
步骤5:选择运行器后点击【发布】
步骤6:发布后查看运行状态,显示“运行成功”后可以点击
步骤7:打开数据源平台查看数据表
至此已完成数据中枢平台的配置。
这种基于DAG的可视化拖拽式数据集成编排,通过Source、Transform、Sink组件自由组合、连线配置,无需编写代码即可快速构建数据同步与加工任务,降低了使用门槛,提升了交付效率。
教程案例中由“Input (JDBC)”直接连到“Output (JDBC)”的工作流的优点:搭建原因(业务与技术考量)
1、逻辑极简,执行效率高
既然所有的加工逻辑(JOIN和聚合)都在能用一条SQL搞定,直接写在Input (JDBC)里是最简单的。少拖拽一个组件,少配置一次映射。把计算压力交给数据库,比把全量明细数据抽到工作流的内存里再计算要快得多。
2、典型的“宽表/汇总表”加工场景
这段SQL的核心是把明细流水表(t)和订单表(o)关联,按产品维度汇总出总单量、总金额、已结算金额。这就是典型的构建DWS(数据仓库汇总层)表的操作。直接将计算结果覆盖或追加写入目标库,正是这种工作流最常见的用途。
3、Input组件充当了“SQL 任务”的角色
在这个平台的设计中,Input JDBC组件不仅可以选“表名”来全量同步,也可以选“自定义 SQL”。这就相当于让这个输入节点变成了一个轻量级的转换节点,输入和转换一步到位了。
4、避免了跨网络的海量数据传输
假设不用这种写法,用“SQL Transform”组件,流程会变成:
明细表Input → 抽取4300条明细 → 网络传输 → SQL Transform计算聚合 → 输出1条汇总
这种写法会导致网络传输大量的无用明细数据。本教程的方式,数据库只吐出最后聚合好的几行数据,极大地节省了网络带宽。