
现在公司的 ETL ,用的是 mysql 存储过程+事件或其他调度工具,来实现 DWD,和 DWS 层的数据转化。因为现在需要处理的表开始多了起来,后续想使用更专业的 ETL 来统一管理和处理。请问现在比较主流的工具是什么,Kettle ? spark ? 再简单说一下情况:主站 A 的数据分别同步到 B ,C ,D 库,然后在 BCD 库处理数据,分别在自己的库里转为 DWD 和 DWS 层。
1 awen233333 2023 年 11 月 30 日 kettle 不建议,我觉得不好用,速度慢 bug 多,老是报莫名其妙的错,数据量小还可以凑合用一下 |
2 graymmon 2023 年 11 月 30 日 dataworks |
3 EarthChild 2023 年 11 月 30 日 @awen233333 #1 那你推荐啊! |
4 EarthChild 2023 年 11 月 30 日 @ChenKeLiang #2 不要阿里系的。 |
5 sss15 2023 年 11 月 30 日 盲推一波 flink cdc |
6 heyline 2023 年 11 月 30 日 可以试试 airbyte + dbt 的方案 |
7 ynzij 2023 年 11 月 30 日 datax 可以考虑一下 |
8 awen233333 2023 年 11 月 30 日 @EarthChild 我推荐的就是你不想用的 |
9 dot2 2023 年 11 月 30 日 dolphinscheduler |
10 haimianbihdata 2023 年 11 月 30 日 via Android 海豚调度。datax flink cdc |
11 hengtong 2023 年 11 月 30 日 via iPhone 蹲一个 |
12 hengtong 2023 年 11 月 30 日 via iPhone dataworks 挺好的 就是贵 |
13 ursash 2023 年 11 月 30 日 dbt 考虑一下? |
14 kkadmin 2023 年 11 月 30 日 Doris/StarRocks + Dolphinscheduler |
15 cadl 推荐 dbt ,以及 gitlab 的实践 https://about.gitlab.com/handbook/business-technology/data-team/platform/dbt-guide/ |
16 G64q9J89mN5KSgmE 2023 年 11 月 30 日 mysql select 同步的话,datax 还不错 bin 同步考虑 canal 如果不想用阿里的,自己用 python 写同步脚本,也很快 |
17 tyrantlucifer 2023 年 11 月 30 日 火山引擎 DataLeap 开发套件可以了解一下 |
18 leonhao 2023 年 11 月 30 日 开 binlog 最省心 |
19 midsolo 2023 年 12 月 1 日 强烈推荐 FlinkCDC ,大数据项目每天处理 5 亿条数据,处理流程如下:ODS -> DWD -> DWM -> DWS -> ADS ,暂时没发现什么问题 |
20 iv8d 2023 年 12 月 1 日 kettle |
21 noparking188 2023 年 12 月 1 日 via Android @heyline 这个好用吗,体验咋样 |
22 Chayebao OP @haimianbihdata 我目前就是有用到 海豚调度去调度存储过程,flinkCDC 做的数据同步,但是 etl 方面要怎么做 没太理解,大佬细说 |
24 noparking188 2023 年 12 月 1 日 via Android BCD 库换成 tidb ,开 tiflash ,调度用 dolphin 或者 airflow 之类,回写实时可以用 ticdc tidb 生态全方位兼容 MySQL |
25 Chayebao OP @dlmy 我这边的情况是这样的, 有一个主站,每张表有‘type’字段 A,B,C 。 我用 flinkCDC 把 type 不同的数据 分离,分别同步到 A,B,C 库。接着,在各自的库,用 mysql 存储过程+海豚调度 处理数据,汇总,做 DWS 。如果不使用 mysql 存储过程,也就是要 再各部署 3 套 flinkCDC ,用 job 去做数据汇总么,还是说写好 job , 丢到海豚调度上处理。目前海豚调度能使用 flink 的那个功能我还不知道怎么使用。 |
26 noparking188 2023 年 12 月 1 日 via Android @noparking188 你只有 TP 的存储系统,你要加一个 AP 的存储系统做 ETL ,你现在的架构算是传统数仓,且远比不上 SQL Server ,SQL Server 那一套现在都逐渐被淘汰了,AP 数据库支撑不了的处理,你加 Spark ,tidb 生态有 tispark |
27 Chayebao OP @noparking188 我们这边需求有点不一样 BCD 库要能单独拿出来,所以是 3 个 mysql 地址。 |
28 Chayebao OP @dlmy 我现在启动了 3 套 flinkCDC ,每套只有一个 JOB ,分别将主站的数据,分 type 同步到 3 个库,然后在 3 个分库,再起 flinkCDC ,实时处理数据 到 dws 层? |
29 noparking188 2023 年 12 月 1 日 via Android @Chayebao 我建议,Fink CDC 同步的库换成 tidb ,开 tiflash ,SQL 只用改下加 comment hint 使用 AP 引擎,tidb 可以基本视作 MySQL 使用,调度还是用 dolphin ,支撑不了的复杂计算加 spark 集群,dolphin 可以直接集成,你所有的任务只要写 SQL 就够了 |
30 Chayebao OP @noparking188 意思是 我把我的 ETL 任务 sql 放到 tidb 上,还是用 dolphin 去调度? 那这个跟我使用 mysql 存储过程+dolphin 调度 一样的? |
31 XuHuan1025 2023 年 12 月 1 日 kettle 简单 没啥含金量,整别的就当带薪学习了 |
32 noparking188 2023 年 12 月 1 日 via Android @Chayebao 一样的,你可以和老板吹嘘你用了 HTAP 分布式 NewSQL ,可以同时支撑海量数据实时和离线处理,开发和业务改动最小,基本写 SQL 就行,只是费点运维。今天剩下的时间你可以快速做个 POC 验证下 |
33 Chayebao OP @noparking188 tidb 需要的资源呢,我们打算把 mysql 存储过程优化掉的原因就是因为存储过程太占资源,想用 java 去跑。 |
34 waterwave 2023 年 12 月 1 日 Data X 比较好,我的部门用得很不错。 |
35 dif 2023 年 12 月 1 日 新搞得建议 flink 吧。 |
36 noparking188 2023 年 12 月 1 日 via Android @Chayebao 什么资源 |
37 dayeye2006199 2023 年 12 月 1 日 via Android 没人提 airflow ?? 这个难道不是业界标准? |
38 yingqi1 2023 年 12 月 1 日 如果你们的团队规模较大,技术水平也不错,可以考虑使用 fink 。 但是如果只有几个人,不建议采用如此复杂的技术栈(例如 Hadoop\fink ),因为这可能需要长时间等待才能看到成果。(举个例子,开源 fink cdc 如何整库同步,你需要多长时间解决)。 小规模改动:结合 Airflow 和 dbt 。Airflow 可以处理调度和数据传输(可以利用现成的插件),而 dbt 则用于统一的数据转换( Transform )开发。dbt 是未来的趋势,但需要做好持续集成和持续部署( CI/CD ),可以参考楼上 GitLab 的开源方案(我们之前也参考 gitlab 的)。 大规模改动:替换数据处理和数据仓库部分,但避免使用 Hadoop 生态系统,因为它过于复杂且难以快速看到成效。建议使用 ClickHouse 或其他 OLAP 类型数据库。 不要使用 Dolphinscheduler ,部署都不知道多少台机器了,直接单机 airflow+mysql ,杠杠的。 总的来说,把带薪学习的时间放在 DBT / CICD /DATAOPS 。 |
39 yingqi1 2023 年 12 月 1 日 @dayeye2006199 我也觉得 airflow 算行业标准了。很感谢 Dolphinscheduler 开源,但是采用微服务把调度系统写的跟 web 后台管理系统似的,我们之前部署的毫无可用性。 |
40 Chayebao OP @yingqi1 目前数据开发就我一个人,项目不大,所以只简单用了 flinkCDC 做同步,mysql 存储过程+Dolphinscheduler 做 ETL 。谢谢大佬 我研究一下。flinkCDC 已经定好了做实时同步了 可能就没法改了 |
41 mywowo 2023 年 12 月 1 日 异类, 用的 kestra |
42 Mindzy 2023 年 12 月 1 日 SeaTunnel + DolphinScheduler + StarRocks(Doris) |
43 yingqi1 2023 年 12 月 1 日 @Chayebao 就一个人,不要搞那么复杂,向钱看齐就好了。学 DBT/dataops 。真的要弄实时同步,也不要采用 finkCDC 了,直接用链接服务这类的工具。 |
44 heyline 2023 年 12 月 1 日 |
45 Chayebao OP @yingqi1 flinkCDC 已经用上了,没法换了,现在要改进的是 ETL 。3 套从库的 ETL ,mysql 的存储过程都是一样的,每套都有 10 多张表,我想揉到一起管理 |
47 haimianbihdata 2023 年 12 月 1 日 via Android @Chayebao etl 现在一般只是拉数据。。同步数据了。。。计算可以放到数据库里面做,sql 调度分层这样 |
48 Nich0la5 2023 年 12 月 1 日 fine data link 挺好用,不过收费的 |
49 liushawn1999 2023 年 12 月 1 日 逛了一大圈发现原来 kettle 居然是最低级的,那我培训班的老师还教,就离谱,看来市面上用的工具比培训班教的差别好大啊,你们说的这些我一个都不知道 |
50 smallpigzbl 2023 年 12 月 1 日 @heyline +1 DBT 是真的强 |
51 woncode 2023 年 12 月 2 日 via Android 蹲一个,我们买了帆软的 FineDataLink ,确实比之前的 kettle 好用一些,可以聚合异源数据输入、基于日子实时同步等。 |
52 x2ve 2023 年 12 月 11 日 @liushawn1999 #49 也算是招聘的要求之一,有这个经验也不错;数据工作本质是 SQLboy ,大头是业务分析,有行业经验搞起数据来才能更快入手。 |
53 yb2313 2025 年 4 月 21 日 prefect 怎么样, 他官网说要比 airflow 更好 |