目前,Azure Data Factory 是以 Azure 为主要云供应商的组织用来编排数据处理流水线的默认产品。它支持数据提取、在使用不同存储类型的自有产品或者 Azure 服务之间复制数据,以及执行数据转换逻辑。尽管我们已有足够的经验使用 Azure Data Factory 对简单的自有服务数据进行云迁移,但我们不鼓励使用 Azure Data Factory 来编排 复杂的数据处理流水线和工作流。对于使用Azure Data Factory进行系统间的数据迁移,我们已经获得了一些成功案例,但对于更复杂的数据流水线,它仍然存在一些挑战——可调试性和错误报告都不尽人意;可观察性也有限(因为 Azure Data Factory 日志记录功能未与 Azure Data Lake Storage 或 Databricks 等其他产品集成,因此难以实现端到端的观察);以及只有部分地区能够使用数据源触发机制等。因此,目前我们推荐使用其他开源编排工具(例如 Airflow)来处理复杂的数据流水线,而仅使用 Azure Data Factory 进行数据复制或数据快照。我们的团队会继续使用 Azure Data Factory 来移动和提取数据,但对于更庞杂的操作,我们推荐其他功能更全面的工作流工具。
Azure数据工厂(ADF)是Azure目前默认的用于编排数据处理流水线的产品,可以用于数据提取,在使用不同存储类型的自有产品或者Azure服务之间复制数据,以及执行数据转换逻辑。尽管我们在使用ADF做简单的自有服务数据上云的迁移时感觉还可以,但我们不推荐使用Azure数据工厂来编排复杂的数据处理流水线。我们使用ADF的体验一直很不好,原因包括:可以通过代码实现的功能有限,因为ADF似乎优先考虑的是实现低代码开发平台的功能;可调试性和错误报告差;整个流水线的可观察性有限,因为ADF的日志记录功能无法与其他产品(如Azure Data Lake Storage或Databricks)集成,因此开发者难以实现流水线的端到端可观察性;以及只有部分地区能够使用数据源触发机制。因此,目前我们推荐使用其他开源编排工具(例如Airflow)来处理复杂的数据流水线,而仅使用ADF进行数据复制或数据快照。我们期望ADF未来会解决这些问题,以支持更复杂的数据处理工作流,并可以通过代码使用新功能。