【发布时间】:2018-06-26 14:13:47
【问题描述】:
我有一个系统,它从具有不同模式的多个 MySQL 数据库中提取数据,并执行许多查询(使用连接)并将输出加载到另一个 MySQL 数据库。
这些查询曾经只是一个快速修复,但它们已经增长到超过 10000 行,从而阻塞了源数据库。
我正在通过分析 SQL 查询来设计一个高效的 ETL 管道,但是否有任何临时修复方法,例如可以分析查询并减少达到所需架构的步骤数的工具?
任何帮助都会挽救生命:)
【问题讨论】:
-
对于任何复杂的 ETL,我更喜欢同时使用 SQL 和一些“真正的”编程语言(例如 Perl)。在它们之间找到最佳平衡很棘手,但通常是值得的。 SQL 对于字符串操作来说很麻烦,另一种语言有很多正则表达式的能力。 SQL 对于在整个表中进行更改是干净的;另一种语言有点乏味。坦率地说,我不会相信任何工具都能拥有您似乎需要的所有技术。
-
非常感谢您的回复。我同意,我正在探索各种实时 ETL 产品,但我仍在努力寻找暂时修复它的方法。
-
对于 10K 行代码没有“临时”修复。
-
哈哈,不能再同意了。它仍然值得一试:)
-
您可以查看 Kafka Streams kafka.apache.org/documentation/streams(无论如何您确实标记了问题)或 KSQL:confluent.io/product/ksql
标签: mysql bigdata amazon-redshift etl apache-kafka-streams