我应该从Kafka ETL中抽象出技术细节吗?

时间:2017-06-30 13:11:19

标签: database oracle apache-kafka integration etl

将ERP(或任何其他可能带有复杂技术数据模型的“标准软件”)作为kafka系统的来源附加的最佳做法是什么?

您是否建议使用该源数据库中的视图隐藏这些技术细节?不确定,如果视图可以“触发”oracle的JDBC源连接器内的复制。

我能想到的另一种方法是使用其Stream API“加入”kafka中的所有这些表。这样,源数据库系统不用于执行“ETL连接”。

1 个答案:

答案 0 :(得分:0)

您可以先为您的ERP软件创建一个Kafka Connect源连接器(假设一个已经存在)。在其中,尝试隐藏处理ERP技术的复杂性。您还可以执行一些简单的无状态转换,以将ERP模型的细节抽象到您的域模型中。我的经验告诉我,如果它很复杂,输出仍然会在某种程度上与源模型绑定。请记住以您域中有意义的方式对数据进行分区。

接下来,一旦您拥有kafka中的数据并且分区良好,您就可以在Kafka Streams中进行进一步处理。它们具有容错(使用Kafka v0.11甚至事务性)状态处理功能,并允许轻松地在主题之间进行连接。