🚀 项目概览
Kettle+Doris数据中台定位中大型企业的一体化数据集成与OLAP分析系统,核心引擎是Apache Kettle(ETL)和Apache Doris(存储查询),覆盖数据采集、流批处理、指标管理、数据服务、质量监控全链路,形成"数据可采、资产可管、指标可查、服务可用、质量可控"的治理体系。传统数据仓库的通病是组件多、链路长、口径乱、运维重——这套平台把多源异构数据统一成可查询、可管理的资产,把T+1离线报表升级为实时OLAP分析,支撑经营分析、用户画像、实时大屏等场景。

✅ 能力亮点
1. 全链路可视化编排,零代码完成数据集成
Kettle Spoon图形化设计器通过拖拽组件、连线配置完成数据采集、清洗、转换、加载全流程。200+内置步骤组件覆盖表输入/输出、JSON解析、REST请求、脚本处理、流查询。业务分析师培训2-3天后可独立完成数据接入,不需要写ETL代码。作业和转换支持定时调度、事件触发、条件分支,复杂管道可视化编排后一键部署到Carte集群执行。
2. MPP极速查询引擎,亿级数据亚秒响应
Apache Doris MPP分布式架构+列式存储+向量化执行引擎,单表支持10PB+数据规模。MySQL协议兼容,BI工具(Tableau、FineBI、DataGrip)直连即查,SQL标准支持完整。聚合查询走物化视图预计算,点查走稀疏索引+倒排索引,Join走Colocation Join本地关联,90%以上查询在1秒内返回。某供应链企业6亿行订单明细表,多维聚合查询响应时间120ms,实测数据。
3. 流批一体数据摄入,实时+离线统一处理
Kettle定时作业负责大批量历史数据离线抽取。Flink CDC 2.4+Kafka 3.5负责MySQL Binlog实时增量捕获,Doris Routine Load持续写入。同一套Doris表接收离线全量和实时增量两种数据,实时数据可见延迟<5秒。流批两条链路共用一套表结构、指标体系、权限管控,Lambda架构的双逻辑维护成本归零。
4. 统一指标管理,消除口径二义性
指标中台按原子指标→衍生指标→派生指标三层管理。原子指标绑定Doris源表度量字段,衍生指标通过SQL表达式组合原子指标,派生指标在前两者基础上加统计周期和维度限定。每个指标在Doris中对一张物化视图或聚合表,创建即固定口径、发布即统一。下游BI报表、数据API、大屏全部消费同一套指标。指标血缘追踪覆盖变更影响分析,单个基础指标调整自动推算出下游波及范围。
5. 数据资产全景透视,血缘关系自动构建
解析Doris审计日志(fe.audit.log)提取SQL执行记录,结合Kettle作业中表输入/输出映射,自动构建字段级数据血缘。数据地图按表名、字段名、指标名、报表名一键搜索。总览面板展示数据成本、访问热度、质量评分、存储趋势四个维度。数据生命周期自动标记冷热数据:冷数据定时归档到HDFS或对象存储,热数据保留在Doris本地SSD。
🔧 功能全景
▪ 多源数据接入 [INGEST]
30+种数据源接入:MySQL、Oracle、PostgreSQL、SQL Server、MongoDB、ClickHouse,以及HTTP API、CSV/Excel文件、Kafka消息队列。Kettle通过JDBC连接各源端,三种抽取模式——整库迁移、按SQL抽取、增量字段抽取——大表自动分片并行读。CDC实时通道基于Flink CDC 2.4捕获MySQL Binlog,变更数据5秒内送达Doris,全量快照与增量续读无缝切换,不停服。
文件接入覆盖SFTP/FTP/本地目录监控,新文件到达自动触发Kettle作业。入仓校验规则引擎在写入前完成空值检查、格式校验、重复检测、参照完整性验证。脏数据分流到异常表,同步推送钉钉/企业微信告警,不会静默丢失。
▪ 流批一体ETL引擎 [ETL]
离线侧:Kettle承担批处理,单个转换吞吐百万行/秒。Doris Stream Load插件通过HTTP流式写入,直接向Doris FE的Stream Load接口提交压缩后的列式数据块,写入速度是JDBC逐条插入的20-50倍。Kettle作业并行执行多个转换,Carte集群分布调度,单节点故障自动转移,任务不中断。
实时侧:Flink 1.18消费Kafka数据完成流式清洗、打宽、聚合,通过Doris Connector写入Unique Key模型表,支持UPSERT语义——新数据到达自动覆盖旧值。两条通道写入同一张表,表引擎在存储层完成数据合并,查询侧无感知。
▪ 指标管理与服务 [METRICS]
指标按业务域划分。原子指标(订单金额、支付金额等度量字段)绑定Doris源表列;衍生指标(日销售额、月累计GMV)用SQL表达式组合原子指标;派生指标(销售额同比、客单价环比)在衍生指标上加统计周期和维度限定。指标创建即发布——自动生成SQL并在Doris中建物化视图,查询命中预计算结果,冷启动零延迟。
指标服务模块将每个指标暴露为RESTful API,支持参数化查询:时间范围、维度筛选、topN,内置限流降级熔断。单API QPS峰值1000+。API Key按调用方独立分配,调用量、响应时间、错误率在监控面板实时可见。
▪ 数据安全管控 [SECURITY]
行列级权限精确到Doris表级:行权限用WHERE条件过滤——不同部门看不同数据行;列权限通过GRANT到字段级。敏感字段(手机号、身份证、银行卡号)配置脱敏规则,查询时动态掩码,原始数据不出库。入仓环节支持AES-256对称加密,密文写入Doris,解密密钥由调用方管理,平台不持有。
全量审计日志记录每条SQL的发起人、执行时间、扫描行数、返回行数。异常查询——全表扫描、高频重复查询——自动识别并推送告警。核心业务表定时备份到HDFS,保留策略按天/周/月分级,支持按时间点恢复到指定集群。
▪ 数据质量监控 [QUALITY]
质量监控覆盖采集、ETL、存储、服务四个环节。采集阶段:检查源端连通性、自动感知表结构变更(字段增减、类型变化)。ETL阶段:监控Kettle作业状态、处理行数、耗时,异常自动重试3次后升级。存储阶段:定时核对Doris表数据量、主键唯一性检查、空值率统计。服务阶段:监控API可用率、P99延迟、错误码分布。
质量规则用自定义SQL模板配置,比如"当日订单表行数较昨日波动>30%"、"某字段空值率>5%"。触发阈值后自动推送钉钉群+记录质量工单。月度质量趋势报表按业务域排名,形成数据SLA闭环。





⚙ 系统架构
前后端分离+微服务架构。数据流六层递进:采集→传输→计算→存储→服务→展示。
数据采集层:Kettle 9.4 Carte集群做分布式ETL调度,JDBC连接MySQL 8.0、Oracle 19c、PostgreSQL 15、SQL Server 2019;Flink CDC 2.4捕获MySQL Binlog。
消息传输层:Kafka 3.5按数据域分区,单Topic吞吐峰值50MB/s,数据保留72小时。
实时计算层:Flink 1.18流处理,Checkpoint间隔30秒,故障恢复数据不丢不重。
核心存储层:Apache Doris 2.1 MPP引擎 | FE×3 + BE×8 | 3副本 | Unique Key / Aggregate Key / Duplicate Key | 单表最大10PB
数据服务层:SpringBoot 2.7构建RESTful API网关,Nacos 2.2做服务注册发现与配置管理,Shiro+JWT接口鉴权,API响应直查Doris。
应用展示层:Vue3+ECharts 5构建分析看板,DataGrip / FineBI / Tableau通过MySQL协议直连Doris自助分析。

📊 落地场景
企业经营分析
Doris聚合模型+物化视图承载日/周/月/季/年多维营收分析,销售趋势、区域排名、产品线对比同屏呈现。Kettle每日凌晨5点定时抽取ERP/CRM数据入仓,自动生成昨日经营日报并推送至管理层企业微信。某制造企业上线后月度经营分析会准备时间从3天压到2小时。
实时大屏监控
Flink CDC捕捉业务库订单、支付、物流状态变更走Kafka,Doris Routine Load 5秒内数据可见。大屏展示当日GMV、订单量、活跃用户、退货率,自动刷新。双11期间实测峰值QPS 2000+,页面渲染延迟<1秒。
用户画像与精准营销
Doris Unique Key模型承载亿级用户标签,部分列更新——标签变更只写对应列,不重写整行。Bitmap人群交并差圈选,千万级用户池"近30天有加购未下单的北京女性用户",3秒返回结果。人群包通过API推至短信/推送平台执行触达。
📌 总结
数据中台的难题从来不是"工具不够多",而是工具太多、链路太碎、口径对不上。Kettle的作用是把散在几十个业务库里的数据拉到一起,Doris的作用是让任何人在1秒内查到结果,指标中台的作用是确保所有人看到的数字一样。底座、标准、出口三个环节对齐,中台才算落地。如果数据分析的瓶颈已经从"数据不够"变成"数据太乱",这套Kettle+Doris的组合投入产出比不虚。
欢迎点赞关注,如需系统源码、项目交付、软件开发,可扫码联系!

夜雨聆风