【问题标题】:Best approach to automate generation of Azure Data Factory assets自动生成 Azure 数据工厂资产的最佳方法
【发布时间】:2018-03-16 17:10:35
【问题描述】:

我们有一个场景,我们希望使用 Azure 数据工厂将数据从多个 Azure SQL DB 复制到 Azure Data Lake Store。由于不同组拥有许多不同的数据库,我们希望自动化复制过程,包括生成管道、基于配置的复制活动。实现这一目标的最佳方法是什么?目前我们正在研究 Azure .Net SDK,但同样需要管理大量代码。

【问题讨论】:

  • 我过去曾使用 PowerShell 自动生成数据工厂对象;这里的好处是您可以使用 PoSh 脚本从 Azure SQLDB 读取元数据,使用结果集生成 ADF JSON 文件并将这些文件部署到 Azure。为了简化这一点,我使用已知值创建了数据集和活动的模板,并从结果集中插入了变量
  • 感谢您的回复,将尝试这种方法。听起来比使用 .NET SDK 更干净、更直接

标签: azure azure-data-factory


【解决方案1】:

如果您只是在做动态复制,新的 V2 Azure 数据工厂有一个 Lookup Activity,它可能可以做您需要的事情,而无需即时生成管道。

【讨论】:

    【解决方案2】:

    我们最终做的是构建一个 ADF 映射表(sql 表、json、excel,任何您想要的表格结构),它基本上具有我们的管道及其端到端的依赖关系的定义,因此它变得扁平出一个层次为 0-N 的层次结构。

    然后我们创建了一个 python 库,它从该 ADF 映射中读取数据并使用这个 python SDK/库创建数据集、复制活动和管道:

    https://github.com/Azure/azure-sdk-for-python/tree/master/azure-mgmt-datafactory

    我们考虑了许多参数,例如每个管道的活动数量(目前我们使用 30 个),因为我们过去曾遇到过问题,自那以后微软实际上已经增强了这一点,因此您可以使用更多参数,看看它是否有效为你。有关更多信息,请参阅数据工厂限制:

    https://github.com/MicrosoftDocs/azure-docs/blob/master/includes/azure-data-factory-limits.md

    有时我们只有一对一的映射来将数据放入我们的 SQL 登陆层,这些非常简单,但它绝对可以帮助我们创建数百个以前手动创建的对象(一个接一个)。

    当存在许多依赖项和转换时,这种编排在您的流程上游变得更加复杂,但我想记录映射是克服这一点的关键。此外,如果您有一个成熟的项目,那么获得映射是乏味的,因此您可能还希望半自动化生成它,这取决于我们的 ELT 的外观。在我们的例子中,我们使用 python 来获取列出所有这些依赖项的层次结构树,然后将其解析为映射。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2020-01-21
      • 1970-01-01
      • 2011-09-14
      • 1970-01-01
      • 2015-07-16
      • 2021-08-22
      • 1970-01-01
      • 1970-01-01
      • 2021-04-29
      相关资源
      最近更新 更多