我正在使用 Kiba 开发一个 ETL 管道,该管道导入到我的 Rails 应用程序中的多个相关模型中。例如,我records
有很多images
. 也可能collections
其中包含许多records
.
我的数据来源多种多样,包括 HTTP API 和 CSV 文件。我想让管道尽可能模块化和可重用,所以对于每一种新类型的源,我只需要创建源,其余的管道定义都是一样的。
给定目标中的多个模型,以及可能从源中获取数据的几个 API 调用,Kiba 中的标准模式是什么?
我可以创建一个管道,其中目标是“应用程序”并负责所有这些模型,这感觉像是错误的方法,因为目标将负责跨不同 Rails 模型保存数据、上传图像等。
我是否应该创建一个主管道来触发更具体的管道,传递特定类型的数据(例如用于导入的图像 URL)?或者有比这更好的方法吗?
谢谢。