我正在考虑将我们的SSIS ETL移动到Azure Data Factory。我支持这种飞跃的论点是:
我们的资源和目标已经在云中。 ADF是云原生的,所以看起来很合适。
ADF是一项服务因此我们可以按需消费和支付。 SSIS意味着许可成本,并且不会为按需消费自然提供借贷(我们考虑使用DevOps在特定的基础上旋转ETL服务器)
使用SSIS以编程方式生成ETL代码需要非常具体的技能,例如BIML或DTS API。通过迁移到ADF,我希望在USQL中结合使用JSON和TSQL以及C#将使必要的技能更加通用。
我希望社区成员能够分享他们的经验,从而帮助我做出决定。
答案 0 :(得分:3)
这个旧帖子的答案已经过时了。我在下面的评论与ADF版本2有关。
首先,ADF具有运行SSIS包的能力,因此不仅可以迁移旧的ETL进程,而且可以逐步迁移到ADF,但建议这样做。您不想随着每一项新技术的出现而改变一切。然后,您只能在ADF活动上实施新的或修改的ETL流程。
第二,尽管可能还不完全存在,但是使用ADF数据流,您可以执行转换,而可以使用SSIS。仍然有些遗漏,但是大多数常用功能都在那里。
ADF创作不需要Visual Studio。它确实需要特定的技能,但是我发现学习曲线并不陡峭。在某些领域仍然缺少文档和最佳实践,但是已经在数据库/数据仓库体系结构和ETL中具有丰富经验的人会发现它相对容易。最好的是,大多数事情都可以在视觉上完成,而不会弄乱代码(这只是简单的JSON)。
此外,ADF与Azure Devops集成并使用Git进行版本控制。因此,您可以免费获得变更管理。
对于更高级的需求,您还可以使用Java(Scala)或Python运行Databricks活动,并与Hadoop(Hive和Pig)和Spark集成。
最后,ADF包含了监视和诊断工具,您必须在SSIS中自行构建。您可以更轻松地查看哪个活动失败以及错误是什么。
答案 1 :(得分:1)
ETL是提取转换并加载,而ADF不会进行任何转换(使用ADF可以通过使用SQL语句或Proc进行转换,但是在ETL中基本的提取逻辑是开箱即用的。) / p>
如果您要从中选择一个,则完全取决于您 要求。
如果转换逻辑很复杂,请使用ETL
如果要处理大量数据,请使用ADF
根据使用情况收取ADF费用,但SSIS附带许可证。
如果您的数据位于内部部署中,建议您使用ETL
ETL的性能完全取决于您的本地计算机
配置,而对于ADF,您不必担心
性能。
答案 2 :(得分:0)
如果您的ETL简单易于转换 - 请使用Data Factory替换。 如果他们需要复杂的逻辑,请使用SSIS 换句话说,如果转换逻辑可以通过配置实现,那么Data Factory是最好的。 如果它需要编写代码和编程技能,SSIS是正确的工具。
可能有助于其他人的一些链接(您很可能已经做出决定)
"Azure Data Factory and SSIS compared"
将ADF视为SSIS的补充服务,主要用途 案件仅限于廉价处理云中的大数据。
从sqlbits下载Azure_Data_Factory_vs_SSIS article
答案 3 :(得分:0)
使用SSIS进行丰富的转换,使用ADF处理大数据工作量和规模。在云中执行SSIS包应该没有问题。这是一个提速换班的方案。您无需租用Compute,而是租用Compute。
如果您不熟悉触发器,那么调度就不会成为问题,就像SSMS一样,您会获得一个类似的界面来调度ADF上的内容
但是我宁愿拭目以待,如果我有大量的本地投资。