Azure数据工厂与SSI

Azure数据工厂与SSI,azure,ssis,azure-data-factory,Azure,Ssis,Azure Data Factory,我正在考虑将SSIS ETL迁移到Azure数据工厂。我支持这一飞跃的理由如下: 我们的来源和目标已经在云中了。ADF是云本地的,所以它看起来非常适合 ADF是一项服务,因此我们可以按需消费和支付。SSIS意味着许可成本,并且不会自然地将其用于按需消费(我们曾考虑使用DevOps在临时基础上旋转ETL服务器) 使用SSIS以编程方式生成ETL代码需要非常具体的技能,如BIML或DTS API。通过使用ADF,我希望JSON与USQL中的TSQL和C#的结合将使必要的技能更加通用 我希望社区成

我正在考虑将SSIS ETL迁移到Azure数据工厂。我支持这一飞跃的理由如下:

  • 我们的来源和目标已经在云中了。ADF是云本地的,所以它看起来非常适合

  • ADF是一项服务,因此我们可以按需消费和支付。SSIS意味着许可成本,并且不会自然地将其用于按需消费(我们曾考虑使用DevOps在临时基础上旋转ETL服务器)

  • 使用SSIS以编程方式生成ETL代码需要非常具体的技能,如BIML或DTS API。通过使用ADF,我希望JSON与USQL中的TSQL和C#的结合将使必要的技能更加通用


我希望社区成员能够分享他们的经验,从而帮助我做出决定。

如果您的ETL简单且易于转换为数据工厂。 如果需要复杂的逻辑,请使用SSI。
换句话说,如果转换逻辑可以通过配置实现,那么数据工厂是最好的。 如果需要编写代码和编程技能,SSIS是合适的工具

一些可能帮助其他人的链接(你很可能已经做出了决定)

将ADF视为SSIS的补充服务,其主要用途是 本案仅限于在云端以低成本处理大数据


从sqlbits下载使用SSIS实现丰富的转换,使用ADF实现大数据工作负载和规模。在云中执行SSIS包应该没有问题。这是一种升降式场景。您不是使用您的计算机,而是租用计算机

如果您不熟悉触发器,那么调度不应该是一个问题,就像SSM一样,您可以在ADF上获得一个类似的调度界面


但如果我有大量的内部投资,我宁愿等着瞧。

ETL是提取转换和加载,而ADF不转换任何东西(使用ADF,您可以使用SQL语句或Proc进行转换,但在ETL中,基本提取逻辑是现成的)

如果你想从中选择一个,这完全取决于你的选择 要求

  • 如果转换逻辑很复杂,请使用ETL

  • 如果你在玩大数据游戏,就选择ADF

  • ADF根据您的使用情况收费,但SSI附带许可证

  • 如果您的数据在本地,我建议您使用ETL

  • ETL的性能完全取决于您的本地机器
    配置,而对于ADF,您不必担心 表演


    • 这篇老文章的答案已经过时了。我下面的评论与ADF版本2有关

      首先,ADF具有运行SSIS包的能力,因此,将遗留ETL流程移动到那里并以增量方式移动到ADF不仅是可能的,而且是推荐的。你不想随着每一项新技术的问世而改变一切。然后,您只能在ADF活动上实现新的或修改的ETL流程

      第二,尽管可能还没有完全实现,但通过ADF数据流,您可以使用SSI进行转换。仍然有一些缺失的部分,但大多数常用功能都存在

      ADF创作不需要Visual Studio。它确实需要特定的技能,但我发现学习曲线并不陡峭。文档和最佳实践在某些领域仍然有点缺乏,但是已经在数据库/数据仓库体系结构和ETL方面有经验的人会发现这相对容易。最棒的是,大多数事情都可以可视化地完成,而不会弄乱代码(这只是简单的JSON)

      此外,ADF与Azure Devops集成,并使用Git进行版本控制。因此,您可以免费获得变更管理

      对于更高级的需求,您还可以使用Java(Scala)或Python运行Databricks活动,与Hadoop(Hive和Pig)和Spark集成


      最后,ADF集成了监控和诊断工具,您必须在SSI中自行构建这些工具。您可以更容易地看到哪些活动失败以及错误是什么

      将现有的、有效的ETL过程转换为新的过程是一个很大的风险。你可能会无缘无故地引入新的bug。考虑只尝试新事物。然后在需要更改时转换其他内容。除非您的ETL工作具有当前的单元测试和QA测试用例,否则不要这样做。在做这件事时不要跳过QA。虽然我理解按需ETL消费的愿望,但我不理解技能要点。Biml只是XML和C#,混合了一些SQL。数据工厂要求您使用JSON和C#以及可能的U-SQL。在这一点上,您会发现比Data Factory拥有更多SSIS技能的开发人员,因此无论哪种方式都有一个学习曲线。我不认为这是一个重点。而且,如果您没有使用ADF,那么调度功能很弱。这与SSI的思维方式完全不同。在设计管道时,通常使用时间片进行增量处理。如果您的许多进程只是批处理更新,没有时间戳或片标识符,这会有点尴尬。ADF有数据流来进行转换。通过在本地安装集成运行时,可以使用ADF轻松处理本地数据。