我们希望使用Azure Data Factory将数据从多个Azure SQL数据库复制到Azure Data Lake Store。由于不同组拥有许多不同的DB,我们希望自动化复制过程,包括生成管道,基于配置的复制活动。实现这一目标的最佳方法是什么?目前我们正在研究Azure .Net SDK,但是还会有很多代码需要管理。
答案 0 :(得分:1)
如果您只是在进行动态复制,那么新的V2 Azure数据工厂会有一个Lookup Activity,它可以满足您的需要,而无需动态生成管道。
答案 1 :(得分:0)
我们最终要做的是建立一个ADF映射表(sql表,json,excel,您想要的任何表格结构),该表基本上定义了我们的管道及其依赖关系,从头到尾,因此它变得平坦得出等级为0-N的层次结构。
然后,我们创建了一个python库,该库从该ADF映射读取并使用此python SDK /库创建数据集,复制活动和管道:
https://github.com/Azure/azure-sdk-for-python/tree/master/azure-mgmt-datafactory
我们考虑到许多参数,例如每个管道的活动数量(到目前为止,我们使用30个参数),因为过去我们遇到了问题,因此Microsoft实际上已经对其进行了增强,因此您可以使用更多参数并查看其是否有效为了你。有关更多信息,请参见以下数据工厂限制:
https://github.com/MicrosoftDocs/azure-docs/blob/master/includes/azure-data-factory-limits.md
有时候,我们只有一对一的映射,可以将数据登陆到我们的SQL登陆层中,虽然非常简单,但是它绝对可以帮助我们创建数百个以前手动创建的对象(一对一)。
当有许多依赖项和转换时,此业务流程在您的流程的上游变得更加复杂,但是我想记录此映射是克服此问题的关键。另外,如果您有一个成熟的项目,则将映射放置到位很麻烦,因此您可能还希望半自动生成它,具体取决于我们的ELT的外观。在我们的案例中,我们使用python获取列出了所有这些依赖项的层次结构树,然后将其解析为映射。
希望这会有所帮助。