6、7年没有调研现在流程的工具了,调研并记录一下。
Apache SeaTunnel
Apache SeaTunnel 是一个开源的、高性能的分布式数据集成平台,专为海量数据的批处理、流处理和实时数据同步而设计。它能够高效地完成数据抽取、转换与加载,支持在数十种异构数据源之间进行无缝传输,广泛用于数据仓库入湖、实时数仓构建、数据迁移和备份等场景。
Trino
Trino 是一个“不带存储,只动脑子”的超级联邦查询引擎。
它自己不存数据,但可以用一条 SQL,同时去查询你存放在 MySQL、Elasticsearch、Hive、ClickHouse、MongoDB……里的数据,并把结果当场拼成一张表返回。
联邦查询——一个能同时查所有资料柜的超级管理员
假设你要做一份报表,需要三样东西:
用户姓名、会员等级 → 在 MySQL 里
用户最近订单流水 → 在 ClickHouse 里
用户的信用评分 → 在 MongoDB 里
没用 Trino 之前,你的做法是:
写代码去 MySQL 取出用户信息。
写代码去 ClickHouse 取订单。
写代码去 MongoDB 取评分。
在程序里把三份数据根据用户 ID “对缝”拼在一起。
最后算出结果。
(又慢又复杂,还要写一堆胶水代码)
有了 Trino 之后,你只需要干一件事:
在 Trino 里执行下面这条 SQL(无需移动任何数据):
SELECT
u.name, u.level,
o.total_amount,
c.score
FROM mysql.users AS u
JOIN clickhouse.orders AS o ON u.id = o.user_id
JOIN mongo.credits AS c ON u.id = c.user_id
WHERE o.date = '2026-06-08';
Trino 会自己去三个地方分别取数、当场关联、返回结果。你完全不用提前把数据搬到一起。这就是联邦查询的威力:数据原地不动,计算触手可及。
你之前问“数仓转 API”,Trino 就是那个可以即时把各种散落数据源变成一个统一 SQL 入口,你再把这个 SQL 包装成 API 的神器。
Trino 其他几个一看就懂的优点
- 极速,真的极速
它不是逐条读数据,而是多台机器并行读,内存里计算,用管道流式处理,结果秒出。
查询 10 亿行级别数据,从分钟级变成秒级是常事。
- 标准 SQL,不学方言
Trino 追求 ANSI SQL 标准,你会写 MySQL 的 SQL,就能写 Trino 的 SQL,几乎没有学习成本。
复杂窗口函数、CTE、时间处理都支持得非常好,不像有的引擎这里缺一块那里缺一块。
- 连接一切,打破孤岛
Trino 支持 40 多种数据源,只要配一个“连接器”,就能像查本地表一样查它:
关系数据库:MySQL, PostgreSQL, Oracle, SQL Server
数仓/OLAP:ClickHouse, Doris, Druid, Pinot
数据湖:Hive, Iceberg, Hudi, Delta Lake
NoSQL:MongoDB, Cassandra, Redis, Elasticsearch
消息队列:Kafka(可查 Topic 里的数据)
文件:S3, HDFS, 本地 CSV/JSON
- 不搬数据,省时省力
零 ETL 即时分析:新数据进来立刻就能被 Trino 查到,不用等夜间跑批。
存储零冗余:数据仍放在原来的系统里,Trino 只当计算层,不要求你建一个巨型中央仓库。
- 查询“混搭”自建数仓/数据湖
你可以把 MySQL 的实时订单 + S3 上 Parquet 格式的历史归档 混合查询,Trino 帮你统一处理,就像查同一张表。
Apache DolphinScheduler
与 SeaTunnel “血缘关系”最近,都是国产 Apache 顶级项目,界面拖拽式,专门对 SeaTunnel 做了原生任务类型集成,开箱即用,是 SeaTunnel 官方推荐的最佳调度搭档。